我正在迭代Python中的Set。在我的应用程序中,我更喜欢每次迭代都是随机顺序。但是我看到的是每次运行程序时都会得到相同的顺序。这不是致命的,但是有没有办法确保Set上的随机迭代?
答案 0 :(得分:3)
在集合列表中使用random.shuffle
。
>>> import random
>>> s = set('abcdefghijklmnopqrstuvwxyz')
>>> for i in range(5): #5 tries
l = list(s)
random.shuffle(l)
print ''.join(l) #iteration
nguoqbiwjvelmxdyazptcfhsrk
fxmaupvhboclkyqrgdzinjestw
bojweuczdfnqykpxhmgvsairtl
wnckxfogjzpdlqtvishmeuabry
frhjwbipnmdtzsqcaguylkxove
答案 1 :(得分:1)
您可以使用random.shuffle来随机播放:
>>> from random import shuffle
>>> a = set([1,2,3,4,5])
>>> b = list(a)
>>> shuffle(b)
>>> b
[4, 2, 1, 3, 5]
>>>