我有一个对象列表,我想对其进行洗牌。我以为可以使用random.shuffle
方法,但是当列表中包含对象时,这似乎失败了。是否有一种用于改组对象的方法或解决此问题的另一种方法?
import random
class A:
foo = "bar"
a1 = a()
a2 = a()
b = [a1, a2]
print(random.shuffle(b))
这将失败。
最佳答案
random.shuffle
应该工作。这是一个示例,其中对象是列表:
from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)
# print(x) gives [[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
# of course your results will vary
请注意,随机播放可在处用起作用,并返回None。