小编典典

打乱对象列表

all

我有一个对象列表,我想对它们进行洗牌。我以为我可以使用该random.shuffle方法,但是当列表是对象时,这似乎失败了。是否有洗牌对象的方法或解决此问题的其他方法?

import random

class A:
    foo = "bar"

a1 = a()
a2 = a()
b = [a1, a2]

print(random.shuffle(b))

这将失败。


阅读 165

收藏
2022-03-01

共1个答案

小编典典

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。

2022-03-01