首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按列表中的第一个元素对嵌套列表进行排序

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

Stack Overflow用户
提问于 2019-07-04 01:28:05
回答 3查看 133关注 0票数 0

我需要根据每个列表中的第一个元素对嵌套列表进行排序...

因此,我有以下几点:

代码语言:javascript
运行
复制
 input = [['ABCMeter', 'six', 'page','car=frog'],['ABCarrow','mall','cop''xmlVal'],['ABCcomp','eleven','computer'],['ABCliz','one']]

我需要对它们进行排序,以便:

代码语言:javascript
运行
复制
output = [['ABCarrow','mall','cop''xmlVal'], ['ABCcomp','eleven','computer'], ['ABCliz','one'], ['ABCMeter', 'six', 'page','car=frog']]

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

代码语言:javascript
运行
复制
split_into_lists = input.sort(key=lambda x: x[0])
EN

回答 3

Stack Overflow用户

发布于 2019-07-04 01:29:42

您只是使用了错误的函数;sort方法就地修改列表并返回None。改用sorted返回一个新列表。

代码语言:javascript
运行
复制
split_into_lists = sorted(input, key=lambda x: x[0])
票数 3
EN

Stack Overflow用户

发布于 2019-07-04 01:33:46

此外,预期的输出与字符串对象的排序标准不匹配。

例如:ABCMeter < ABCarrow

它逐个字符进行比较,如果它们相等,则比较下一个字符。由于M小于a (参见ASCII表),因此ABCMeter < ABCarrow

票数 2
EN

Stack Overflow用户

发布于 2019-07-04 15:15:49

代码语言:javascript
运行
复制
split_into_lists = sorted(input, key=lambda x: x[0].casefold())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56875302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档