gpt4 book ai didi

Python ..访问默认排序功能?

转载 作者:太空狗 更新时间:2023-10-30 01:44:08 25 4
gpt4 key购买 nike

Python 代码:

b=['six', 'small', 'he', 'foxes', 'saw']
b.sort(key=len)
b

输出:

['he', 'six', 'saw', 'small', 'foxes']

在上面的代码中,我按元素的长度排序并得到了上面的输出。

我想要的输出看起来像这样:['he', 'saw', 'six', 'small', 'foxes']

所以我想要第一个按长度排序。然后对于长度相同的元素,我想按字母顺序排序。

我的问题:有没有办法不用编写自定义函数就可以做到这一点?也许是这样的:

b.sort(key=[len,sorted]) # this doesn't work but I think it explains the idea.

谢谢!

最佳答案

我们可以使用复合排序键,首先按长度排序,其次按字典顺序排序。我们通过创建一个元组来做到这一点,因为元组会自然地使用元素按照它们出现的顺序进行排序。

b = ['six', 'small', 'he', 'foxes', 'saw']
b.sort(key=lambda s: (len(s), s))

作为记录,上面的结果在这个排序列表中::

['he', 'saw', 'six', 'foxes', 'small']

哪个是问题中规定的正确顺序(但问题中的样本输出是错误的,所以在投反对票之前请注意!)

关于Python ..访问默认排序功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54909297/

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