【问题标题】:How to sort an already sorted array by a second property?如何通过第二个属性对已经排序的数组进行排序?
【发布时间】:2022-12-11 09:13:03
【问题描述】:

假设我有一个元组列表,通过调用 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')]。

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

谢谢!

【问题讨论】:

  • 元组已经这样排序了:你试过sorted( [(1, 'e'), (2, 'd'), (3, 'c'), (3, 'a'), (3, 'b'), (4, 'f')])吗?

标签: python list algorithm sorting data-structures


【解决方案1】:

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')] 这是你想要的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 2021-12-01
    相关资源
    最近更新 更多