У мене є список об'єктів і я хочу перемішати їх. Я думав, що можу використати метод 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.
>>> import random
>>> a = ['hi','world','cat','dog']
>>> random.shuffle(a,random.random)
>>> a
['hi', 'cat', 'dog', 'world']
У мене працює нормально. Переконайтеся, що встановлено випадковий метод.