如何从列表中删除随机元素并将其添加到python中的另一个列表中

时间:2016-10-04 16:16:48

标签: python list random-access

list = ['john','james','michael','david','william']

winner = []

如何从list中删除随机项并将其添加到winner

3 个答案:

答案 0 :(得分:4)

winner.append(list.pop(random.randrange(0,len(list))))

要解决这个问题:

random.randrange(0,len(list)) 

将在零和列表长度之间生成一个随机数。这将在列表中生成一个可以引用的随机索引。

list.pop(i)

这将从列表中删除指定索引(i)处的项目。

winner.append(x)

这会将项目(x)添加到获胜者列表的末尾。如果要在特定索引处添加项目,可以使用

winner.insert(i,x) 

i是插入的索引,x是要插入的值。

如果您想了解更多信息,那么关于数据结构的python文档就是一个很好的参考: https://docs.python.org/2/tutorial/datastructures.html

答案 1 :(得分:0)

这将从名称列表names中选择一个随机项,并将其添加到另一个列表winner。然后,所选的获胜者将从names中删除。

import random
winner = []
names = ['john','james','michael','david','william']
winnerindex = random.randint(0,len(names)-1)
winner.append(names[winnerindex])
del names[winnerindex]
print winner, names

答案 2 :(得分:-1)

只需使用从索引0到len(list)的random.randint来获取列表元素的索引并将其附加到胜利者。

import random
index = random.randomint(0, len(list)-1)
winner.append(list[index])
del list[index]