首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有字符串对象的Python排序列表

具有字符串对象的Python排序列表
EN

Stack Overflow用户
提问于 2015-01-05 20:14:15
回答 1查看 61关注 0票数 1

我试着根据一些值对列表进行排序。我知道如何根据整数和字符串进行排序(按字母顺序)。虽然,当涉及到由数学符号组成的物体时,我不能完全做到。

我有这份名单..。

代码语言:javascript
运行
复制
ls = ["Arsenal",10-5,10,"Chelsea",20-5,10]

我把它整理成这样:

代码语言:javascript
运行
复制
newLs = sorted([ls[i:i+3] for i in range(0,len(ls),3)],key=lambda x:(int(x[2]),int(x[1]))

我希望10-5被视为5,但在打印时被显示为10-5

稍后打印的示例:

代码语言:javascript
运行
复制
Arsenal   10-5   10
Chelsea   20-5   10
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-05 21:17:13

我想出来了!

使用eval(x[2])等等。另外,它周围需要括号(使它成为一个元组):(eval(x[2]),eval(x[1]))

代码语言:javascript
运行
复制
ls = ["Arsenal","10-5","10","Chelsea","20-5","0+25"]

newLs = sorted([ls[i:i+3] for i in range(0,len(ls),3)],key= lambda x: (eval(x[2]),eval(x[1])))

print(newLs)

在这里运行它:http://ideone.com/Jcu5b0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27787159

复制
相关文章

相似问题

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