Python 排序功能键

问题描述 投票:0回答:1

请帮我理解这段Python3代码:

def length_and_alphabetical(string):
    """Return sort key: length first, then case-normalized string."""
    return (len(string), string.casefold())

colors = ["Goldenrod", "Purple", "Salmon", "Turquoise", "Cyan"]
colors_by_length = sorted(colors, key=length_and_alphabetical)

我明白它在做什么,但我不明白它是如何工作的。

length_and_alphabetical
函数返回一个元组,其中包含两个项目,一个
int
和一个
string
,该元组用于由
sorted
函数进行比较。

例如,该函数可能返回

(9, "Goldenrod")
,但是其中哪一个被用作键?这里有两个选项,您无法对它们进行直接比较,因为它们是不同的对象类型。

我一直在查看官方文档,但我一无所知。

谢谢。

python python-3.x function sorting
1个回答
-1
投票

sort 将按升序使用元组的第一个元素,但该函数将返回元组的元组,如您所提到的。

© www.soinside.com 2019 - 2024. All rights reserved.