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']
?在
Python的排序算法是稳定的。如果两个值具有相同的
key(value)
结果,则它们的相对顺序保持不变。反转只适用于key(value)
结果不同于。在因为}都产生{},所以这两个字符串将保持原来的相对顺序。
key('Isaac Newton')
和{reverse=True
标志只影响'Bohr'
在'Newton'
之前或之后排序。在如果您需要反转它们的相对顺序,请将向前排序,然后反转得到的列表。在
相关问题 更多 >
编程相关推荐