【发布时间】:2019-07-20 17:49:57
【问题描述】:
我有一个嵌套列表,它根据每个子列表的第一个元素进行排序:
t = [['2', '5'], ['8', '10'], ['8', '2'], ['8', '5'], ['9', '0']]
我现在怎样才能在不影响其他子列表的情况下,按下一个元素对以相同元素开头的子列表进行排序?
例如对 t[1]、t[2] 和 t[3] 进行排序,同时保持其他子列表的顺序:
sort_by_all(t)
>> [['2', '5'], ['8', '2'], ['8', '5'], ['8', '10'], ['9', '0']]
我的逻辑是首先找到所有以相同元素开头的子列表,按它们的第二个元素对它们进行排序,然后以某种方式将它们放回原始列表中。
【问题讨论】:
-
只是
sorted(t)。默认的排序方式是按字典顺序排列的。请注意,如果值大于9,'10'将在'1'和'2'之间排序 -
是的,如前所述,假设值介于
'0'和'9'之间。 -
谢谢,docs 中没有此信息。