gpt4 book ai didi

python - 如何在 python 中对列表进行排序以使小写字母在大写字母之前?

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:48 25 4
gpt4 key购买 nike

抱歉,这可能是一个幼稚的问题。但我是 python 的新手,这让我困惑了一段时间。

我知道如何通过应用 str.lower() 将所有字符串都视为小写,但我不知道如何故意将小写字母的元素作为大写字母之前的第一个字母。

澄清一下:这是一个示例列表:[Bear, bear, Apple, apple]

我希望它是:[apple, Apple, bear, Bear]

最佳答案

你可以像这样链接两个排序,因为 Python 的排序是稳定的

>>> sorted(sorted(['Bear', 'bear', 'Apple', 'apple'], reverse=True), key=str.lower)
['apple', 'Apple', 'bear', 'Bear']

或者您可以使用单一排序,如下所示:

Python2:

>>> sorted(['Bear', 'bear', 'Apple', 'apple'], key=lambda x: (x.lower(), x.swapcase()))
['apple', 'Apple', 'bear', 'Bear']

Python3:

>>> sorted(['Bear', 'bear', 'Apple', 'apple'], key=lambda x: (x.casefold(), x.swapcase()))
['apple', 'Apple', 'bear', 'Bear']

关于python - 如何在 python 中对列表进行排序以使小写字母在大写字母之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33161059/

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