我有一个对象列表,我想对它们进行洗牌。我以为我可以使用该random.shuffle方法,但是当列表是对象时,这似乎失败了。是否有洗牌对象的方法或解决此问题的其他方法?
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
请注意,shuffle 可以 在原地 工作,并返回 None。