python - 如何通过第二个属性对已经排序的数组进行排序?

标签 python list algorithm sorting data-structures

假设我有一个元组列表,通过调用 sort where key = first element,我们的列表返回为:

[(1, 'e'), (2, 'd'), (3, 'c'), (3, 'a'), (3, 'b'), (4, 'f')]

现在,我如何应用仅适用于第一个值匹配的那些值的排序(在本例中,第一个元素为 3 的三个值),以便最终列表为:

[(1, 'e'), (2, 'd'), (3, 'a'), (3, 'b'), (3, 'c'), (4, 'f')]

我已经对第一个元素进行了排序,但是当我对第二个元素进行了排序时,第一个排序被撤消了。我想保留原来的排序,并且只更改那些具有重复第一个元素的元素。

谢谢!

最佳答案

Python 中默认的 .sort() 方法已经做到了这一点。例如代码:

L = [(1, 'e'), (2, 'd'), (3, 'c'), (3, 'a'), (3, 'b'), (4, 'f')]
L.sort()

print(L)

返回 [(1, 'e'), (2, 'd'), (3, 'a'), (3, 'b'), (3, 'c'), (4 , 'f')] 这就是你想要的

关于python - 如何通过第二个属性对已经排序的数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74757672/

相关文章:

algorithm - 查找未知语言中的所有不同字符以及它们之间的词典顺序关系

python - 为 virtualenv 和 pip 维护不同的需求文件

python - 如何编写 python 函数来接受 *arguments 和关键字参数?

java - 对象列表和Gson字符串之间的转换

algorithm - 这个递归算法的阶数/递归公式/闭合公式是什么?

algorithm - 解决 CodeChef 的练习时遇到问题 [简单]

python - 能够删除具有特定对象标签 tkinter 的所有项目

python - 适用于图像密集型 Web 应用程序的最佳 Python/Django 架构

python - 如何使用相同的索引名称打印整行

list - 将整数列表拆分为正整数列表和负整数列表