通过Set Python确保迭代的随机顺序

时间:2015-07-23 21:43:21

标签: python set iteration

我正在迭代Python中的Set。在我的应用程序中,我更喜欢每次迭代都是随机顺序。但是我看到的是每次运行程序时都会得到相同的顺序。这不是致命的,但是有没有办法确保Set上的随机迭代?

2 个答案:

答案 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]
>>>