首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在python中对字符串列表和字母后面的数字进行排序

在python中对字符串列表和字母后面的数字进行排序
EN

Stack Overflow用户
提问于 2014-07-08 05:58:38
回答 1查看 5.5K关注 0票数 7

我有一个字符串列表,我想对其进行排序。

默认情况下,字母的值大于数字(或字符串数字),这将字母放在排序列表的最后。

代码语言:javascript
代码运行次数:0
运行
复制
>>> 'a' > '1'
True
>>> 'a' > 1
True

我希望能够将所有以数字开头的字符串放在列表的底部。

示例:

未排序列表:

代码语言:javascript
代码运行次数:0
运行
复制
['big', 'apple', '42nd street', '25th of May', 'subway']

Python的默认排序:

代码语言:javascript
代码运行次数:0
运行
复制
['25th of May', '42nd street', 'apple', 'big', 'subway']

请求排序:

代码语言:javascript
代码运行次数:0
运行
复制
['apple', 'big', 'subway', '25th of May', '42nd street']
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 06:02:10

代码语言:javascript
代码运行次数:0
运行
复制
>>> a = ['big', 'apple', '42nd street', '25th of May', 'subway']
>>> sorted(a, key=lambda x: (x[0].isdigit(), x))
['apple', 'big', 'subway', '25th of May', '42nd street']

Python的排序函数采用一个可选的key参数,允许您指定在排序之前应用的函数。元组按第一个元素排序,然后按第二个元素排序,依此类推。

您可以阅读更多关于排序这里的内容。

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

https://stackoverflow.com/questions/24624644

复制
相关文章

相似问题

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