按列表中的第一个元素对嵌套列表排序

2024-10-03 09:11:51 发布

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

我需要根据每个列表中的第一个元素对嵌套列表排序。。。你知道吗

所以我有以下几点:

 input = [['ABCMeter', 'six', 'page','car=frog'],['ABCarrow','mall','cop''xmlVal'],['ABCcomp','eleven','computer'],['ABCliz','one']]

我需要对它们进行分类,以便:

output = [['ABCarrow','mall','cop''xmlVal'], ['ABCcomp','eleven','computer'], ['ABCliz','one'], ['ABCMeter', 'six', 'page','car=frog']]

我尝试了以下方法,但没有成功(以及其他几种排序方法):

split_into_lists = input.sort(key=lambda x: x[0])

Tags: 列表input排序pagecarcomputercopsix
3条回答

您只是使用了错误的函数;sort方法修改列表并返回None。使用sorted返回新列表。你知道吗

split_into_lists = sorted(input, key=lambda x: x[0])
split_into_lists = sorted(input, key=lambda x: x[0].casefold())

此外,预期的输出与字符串对象的排序条件不匹配。你知道吗

例如: ABCMeter<;ABCarrow

它一个字符一个字符地比较,如果它们相等,它会比较下一个字符。因为M小于a(见ASCII表),ABCMeter<;ABCarrow

相关问题 更多 >