gpt4 book ai didi

python - 在 Python 中通过排序引入一些随机性

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:36 24 4
gpt4 key购买 nike

通过这段代码,我得到了基于元素长度的排序列表。

>>> 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 实现它?

最佳答案

Python 的排序函数是稳定的,这意味着比较相等的元素的顺序与原始列表相同。因此,您可以将列表打乱,然后根据长度排序。

import random

a = [[1,2,3],[3,4,5,6],[7,8],[9,10,11]]
random.shuffle(a)
a.sort(key = len)

请注意,此代码就地对列表 a 进行洗牌和排序。

关于python - 在 Python 中通过排序引入一些随机性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com