列表中字符串按照某种规则排序的方法(python)

列表中字符串按照某种规则排序的方法(python)

有时候处理数据时,想要按照字符串中的数字的大小进行排序。

譬如,存在一组记录文件,分别为‘1.dat’,’2.dat’…

当我把该文件夹中的所有记录文件名读到一个列表中,这些字符串的排列方式为:

<span>列表中字符串按照某种规则排序的方法(python)</span>

如何让这些字符串按照数字排列?

1、首先通过正则表达式,提取出字符串中的数字

2、排序,选择built-in函数sorted进行排序

sorted(iterable, cmp=None, key=None, reverse=False)

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。

 

所以说排序方式按照数字拍的话,key就要对应里面的数字。

所以,这个问题只需一句话解决:

s = ['1.dat','10.dat','5.dat']
new = sorted(s,key = lambda i:int(re.match(r'(\d+)',i).group()))
print new

 得到的结果即为

<span>列表中字符串按照某种规则排序的方法(python)</span>

 对于该操作,同样可以使用list.sort(),python2.4之后,list.sort和sorted都添加了一个key参数用来指定一个函数

不同的地方是:内置sorted返回一个新的列表,而list.sort是对列表进行操作

s = ['1.dat','10.dat','5.dat']
s.sort(key = lambda i:int(re.match(r'(\d+)',i).group()))
print s

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119496.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IDEA搭建Android开发环境[通俗易懂]

    IDEA搭建Android开发环境[通俗易懂]开发环境IDEA2019.3+SDK+JDK1.8。关于JDK的安装参考:JDK安装以及环境变量的配置,这里就不再说了。直接从SDK的安装开始。一、SDK的下载官方下载地址:sdk下载。不过服务器可能进不去。因为不用AndroidStudio,所以拉到最下面,选择sdk-tools就行下载完成后,解压到一个目录下即可。二、IDEA配置SDK打开Configure->Str…

  • 软件测试面试的自我介绍模板(无经验者面试软件测试)

    面试官,你好,我叫Jayce,16年本科毕业,从事软件测试将近3年的时间。在此期间做过一些项目也积累过一些经验,能够独立地完成软件测试流程的一个工作。我之前主要做过的是功能测试,web自动化测试、app专项测试、接口测试、也有用过Jmeter做过一些性能方面的测试。我对于缺陷管理工具比如禅道,版本控制器git与svn能够熟悉应用。数据库、linux、Fiddler、Jmeter这些应用也比较熟悉。…

  • Android Iterator 使用

    Android Iterator 使用1、Map循环删除符合调条件的对象在Map中直接删除内容将抛出java.util.ConcurrentModificationException异常,如果要删除可以用Iterator的remove()方法。Iteratoriterator=eventValues.keySet().iterator();while(iterator.hasNext()){Stringkey=(String)iterator.next();if(key.equals(G.

    2022年10月29日
  • 基于H5+js开发一款音乐播放器

    基于H5+js开发一款音乐播放器前言:当下音乐播放器不胜其数,为了更好的掌握一些东西,我们来自己制作一个音乐播放器。文章目录:一.开发环境:二.页面视图:1.主文件入口(首页):2.音乐播放界面:三.功能实现(1)、index.html:(2)、播放音乐(music.html):(3)、样式文件(index.css):四.项目地址:一.开发环境:开发工具:HbuliderX;框架:Vant,Mui,Vue后端:Node二.页面视图:正常情况下我们的开发都会有构思图以及模块规划等过程,我们先来看看大致的页面构图:1

  • 龙族幻想购买限制_龙族幻想宽限一日

    龙族幻想购买限制_龙族幻想宽限一日 龙族系列,可设每月自动无最小支付/1. http://www.apachemails.com/pages/index.php?refid=wy13062232. http://www.bondjamesbond.net/pages/index.php?refid=wy1306223. http://www.cashpointclicks.com/pages/index.php?r

  • hdu2058_upa68ha

    hdu2058_upa68ha主要是对于等差数列求和公式进行变换,dfs果断超时了;下面这个有比较详细的解释;(https://blog.csdn.net/qq_32767041/article/details/53457796)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号