Есть ли лучшие способы случайного перетасовки двух связанных списков, не нарушая их переписки в другом списке? Я нашел связанные вопросы в numpy.array
и c#
, но не совсем то же самое.
Как первая попытка, простой трюк zip
будет делать:
import random
a = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
b = [2, 4, 6, 8, 10]
c = zip(a, b)
random.shuffle(c)
a = [e[0] for e in c]
b = [e[1] for e in c]
print a
print b
Он получит результат:
[[1, 2], [7, 8], [3, 4], [5, 6], [9, 10]]
[2, 8, 4, 6, 10]
Просто найдите это немного неудобно. А также нужен дополнительный список.