从随机选择的数组中删除元素

时间:2014-07-03 13:42:11

标签: python arrays

import random
x = ['England', 'Russia', 'Spain', 'Italy', 'Netherlands', 'Brazil', 'France', 'Algeria', 'Cameroon', 'Ivory Coast', 'Ghana', 'Nigeria', 'Australia', 'Iran', 'Japan', 'Korea Republic', 'Belgium', 'Bosnia and Herzegovina', 'Croatia', 'Germany', 'Greece', 'Switzerland', 'Costa Rica', 'Honduras', 'Mexico', 'USA', 'Argentina', 'Chile', 'Colombia', 'Ecuador', 'Uruguay', 'Portugal']
x.pop(random.randint(0,len(x)-1))
print (random.choice(x))

我现在想从数组中删除random.choice

2 个答案:

答案 0 :(得分:1)

您的x.pop行已删除随机项。如果您的意思是按值删除随机项,则可以使用x.remove

to_remove = random.choice(x)
print(to_remove)
x.remove(to_remove)
print(x)

答案 1 :(得分:0)

好的,你走了:

to_remove = random.choice(x)
print to_remove
x.remove(to_remove)

但你的代码很奇怪。您确实是通过x.pop(random.randint(0,len(x)-1))从代码中删除项目。与x.remove()的区别在于list.pop()按索引删除并返回变量,list.remove()按值删除。 因此,通过同时执行popremove,您将从x中移除两个随机项。