import random
mylist = ['anthony', 'kris', 'james', 'vinny', 'joe']
randomList1 = random.randrange(0,len(mylist))
randomList2 = random.randrange(0,len(mylist))
name2 = mylist[randomList1]
name3 = mylist[randomList2]
print 'The group will consist of', name2, 'and', name3,'. '
代码是否有问题,这不适合我,但是这样做的人试图从mylist中打印两个随机名称,但当然使用当前代码它偶尔会打印两个相同的
给出here的解决方案可能有一些用途来回答,但我已经尝试了一些方法来帮助他,但我不是蟒蛇专家,我现在不能直接思考。
答案 0 :(得分:8)
>>> import random
>>> mylist = ['anthony', 'kris', 'james', 'vinny', 'joe']
>>> random.sample(mylist, 2)
['james', 'vinny']
答案 1 :(得分:2)
>>> from random import sample
>>> mylist = ['anthony', 'kris', 'james', 'vinny', 'joe']
>>> sample(mylist,2)
['kris', 'vinny']
答案 2 :(得分:2)
您可以使用random.sample
设置k = 2
random.sample(population, k)
从群体序列中选择k个唯一的随机元素。
答案 3 :(得分:0)
选择名字后,将其从列表中删除,然后从该新列表中选择一个随机名称。
答案 4 :(得分:0)
如果没有random.sample
,我会建议
import random
mylist = ['anthony', 'kris', 'james', 'vinny', 'joe']
randomList1 = random.randrange(0, len(mylist))
randomList2 = random.randrange(0, len(mylist) - 1)
if randomList2 == randomList1:
randomList2 = len(mylist) - 1
name2 = mylist[randomList1]
name3 = mylist[randomList2]
print 'The group will consist of', name2, 'and', name3,'. '
我。例如,少拿一个,如果恰好与第一个相同,则取最后一个。