【发布时间】:2014-04-09 02:09:06
【问题描述】:
使用这段代码,我得到了基于元素长度的排序列表。
>>> a = [[1,2,3],[3,4,5,6],[7,8],[9,10,11]]
>>> print sorted(a, key=lambda m: len(m))
[[7, 8], [1, 2, 3], [9, 10, 11], [3, 4, 5, 6]]
在对list的列表进行排序时,我需要在元素长度相同的情况下引入一些随机性。对于前面的例子。我需要得到排序结果
[[7, 8], [1, 2, 3], [9, 10, 11], [3, 4, 5, 6]]
或
[[7, 8], [9, 10, 11], [1, 2, 3], [3, 4, 5, 6]]
随机。
如何在 Python 中做到这一点?
【问题讨论】:
-
您希望它保持一致吗?还是您希望它在每次运行排序时都可能发生变化?
-
那么您希望列表中的每个列表都是随机的吗?还是只是主列表的全部内容? 1:
[[8, 7], [4, 3, 6, 5], [11, 9, 10], [1, 2, 3]]2:[[7, 8], [3, 4, 5, 6], [9, 10, 11], [1, 2, 3]]