Pythonreverse=真正的反向发行

2024-05-18 11:32:52 发布

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

def last_name(str):
    return str.split()[1]

names = ["Isaac Newton", "Fred Newton", "Niels Bohr"]
print("s:", sorted(names, key=last_name))
print("s:", sorted(names, key=last_name, reverse=True))

输出:

^{pr2}$

当我使用reverse=True时,应该是这样的:['Fred Newton','Isaac Newton', 'Niels Bohr']?在


Tags: keynametruenamesdefnewtonfredreverse
1条回答
网友
1楼 · 发布于 2024-05-18 11:32:52

Python的排序算法是稳定的。如果两个值具有相同的key(value)结果,则它们的相对顺序保持不变。反转只适用于key(value)结果不同于。在

因为key('Isaac Newton')和{}都产生{},所以这两个字符串将保持原来的相对顺序。reverse=True标志只影响'Bohr''Newton'之前或之后排序。在

如果您需要反转它们的相对顺序,请将向前排序,然后反转得到的列表。在

相关问题 更多 >