【发布时间】:2011-12-05 17:42:41
【问题描述】:
我正在 Python 3 中对嵌套列表执行洗牌操作。我希望无限期地重新洗牌以前洗牌的列表,直到嵌套列表的顺序满足特定条件。 random.shuffle 在原地运行,并且在先前打乱的列表上调用 random.shuffle() 不会重新打乱它。无限期重新排列列表直到满足条件的最佳方法是什么。例如,我正在尝试这样的事情,但是创建一个新列表然后对其进行改组似乎不起作用:
from random import shuffle
L1 = [[1,2], [3,4], [5,6], [7,8], [9,10]]
shuffle(L1)
match = L1[0]
# reshuffle until [9,10] is the first item in the list
if match != [9,10]:
L1 = list(L1)
shuffle(L1)
print(L1)
【问题讨论】: