如何在python中从第二个元素开始对列表进行排序?

2024-10-01 07:16:51 发布

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

this question中,有人问他如何“从第二个元素对python中的列表进行排序”

有没有办法用同样的方式对列表进行排序?例如:

my_list = [
  ["1234", "aaa", "ccc", "bbb"],
  ["2332", "ggg", "bbb", "hhh"],
  ["4627", "ggg", "aaa", "hhh"],
  ["5332", "zzz", "vbb", "hhs"]
]

my_list = [
  ["1234", "aaa", "bbb", "ccc"],
  ["4627", "aaa", "ggg", "hhh"],
  ["2332", "bbb", "ggg", "hhh"],
  ["5332", "hhs", "vbb", "zzz"]
]

先谢谢你


Tags: 元素列表排序mythislistquestionbbb
1条回答
网友
1楼 · 发布于 2024-10-01 07:16:51

我希望我正确理解您的问题,您希望对列表中的每个项目从第二个元素进行排序,然后根据第二个元素对整个列表进行排序:

my_list = [
  ["1234", "aaa", "ccc", "bbb"],
  ["2332", "ggg", "bbb", "hhh"],
  ["4627", "ggg", "aaa", "hhh"],
  ["5332", "zzz", "vbb", "hhs"]
]

my_list = sorted([[f, *sorted(v)] for f, *v in my_list], key=lambda k: k[1])

from pprint import pprint
pprint(my_list)

印刷品:

[['1234', 'aaa', 'bbb', 'ccc'],
 ['4627', 'aaa', 'ggg', 'hhh'],
 ['2332', 'bbb', 'ggg', 'hhh'],
 ['5332', 'hhs', 'vbb', 'zzz']]

相关问题 更多 >