list = ['john','james','michael','david','william']
如何從列表中刪除隨機元素,它在Python
winner = []
添加到另一個列表如何從list
刪除隨機項,並把它添加到winner
?
list = ['john','james','michael','david','william']
如何從列表中刪除隨機元素,它在Python
winner = []
添加到另一個列表如何從list
刪除隨機項,並把它添加到winner
?
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)
與我是索引插入在和x是插入的值。
如果您想了解更多信息,一個很好的參考,對數據結構的Python文檔: https://docs.python.org/2/tutorial/datastructures.html
'list.pop'從末尾開始,而不是一個特定的索引 –
@ cricket_007檢出我引用的python文檔,如果未指定索引,則返回最後一個元素,否則返回指定索引處的元素 – PrestonM
I只是指出你沒有在你的回答中提供參數 –
這將從名稱列表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
問題到底是什麼,你想要我詳細說明一下嗎? @J F – ImportanceOfBeingErnest
是的,所以這段精彩的代碼非常複雜,並且使用了很多鮮爲人知的概念,因此只有少數用戶能夠理解它,而無需頁面冗長的文檔。 – ImportanceOfBeingErnest
只需使用random.randint從指數0到LEN(列表)來獲取列表元素的索引,並將其追加到贏家。
import random
index = random.randomint(0, len(list)-1)
winner.append(list[index])
del list[index]
你可能不希望把你的變量'list'。 –