python排序键保证只被调用一次吗?

2024-10-01 09:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在回答another question时,我创建了一个sortkey函数,该函数修改了一个字典,以保存状态,该状态随后将用于排序中的后续项。在

虽然我的答案似乎是有效的,但我的问题是:python文档中是否定义了每个对象只调用一次sort键?这是Cpython的实现细节吗?或者排序键实际上调用了不止一次,而我只是出于运气才得到正确答案?在

^{}的文档说明:

key specifies a function of one argument that is used to extract a comparison key from each list element: key=str.lower. The default value is None (compare the elements directly)

我不认为这意味着key将只对每个元素调用一次。。。但也可以在别处说明。在

很明显,我要问的是,这对任何类型的键都有副作用。在


Tags: 对象key函数答案文档字典定义排序
1条回答
网友
1楼 · 发布于 2024-10-01 09:30:56

从您链接的文档部分:

In general, the key and reverse conversion processes are much faster than specifying an equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once.

那似乎是一个“是的”。。。在

相关问题 更多 >