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

How to remove a random element from a list and add it to another list in python

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

winner = []

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

这将从名称列表 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

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

import random
index = random.randomint(0, len(list)-1)
winner.append(list[index])
del list[index]
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