Как удалить случайный элемент из списка и добавить его в другой список в Python

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

winner = []

Как я могу удалить случайный элемент из list и добавить его в winner?

3 ответа

Решение
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

Это выбирает случайный элемент из списка имен 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(список), чтобы получить индекс элемента списка и добавить его к победителю.

import random
index = random.randomint(0, len(list)-1)
winner.append(list[index])
del list[index]
Другие вопросы по тегам