确保 Set Python 上迭代的随机顺序
Ensuring random order for iteration over Set Python
我正在迭代 Python 中的一个集合。在我的应用程序中,我更喜欢迭代每次都是随机顺序。然而,我看到的是,每次我 运行 程序时,我都会得到相同的命令。这不是致命的,但有没有办法确保对 Set 进行随机迭代?
使用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
您可以使用 random.shuffle 来洗牌:
>>> from random import shuffle
>>> a = set([1,2,3,4,5])
>>> b = list(a)
>>> shuffle(b)
>>> b
[4, 2, 1, 3, 5]
>>>
我正在迭代 Python 中的一个集合。在我的应用程序中,我更喜欢迭代每次都是随机顺序。然而,我看到的是,每次我 运行 程序时,我都会得到相同的命令。这不是致命的,但有没有办法确保对 Set 进行随机迭代?
使用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
您可以使用 random.shuffle 来洗牌:
>>> from random import shuffle
>>> a = set([1,2,3,4,5])
>>> b = list(a)
>>> shuffle(b)
>>> b
[4, 2, 1, 3, 5]
>>>