按照字符串中的数组进行排序的方法(python),python字符串数组,有时候处理数据时,想
按照字符串中的数组进行排序的方法(python),python字符串数组,有时候处理数据时,想
有时候处理数据时,想要按照字符串中的数字的大小进行排序。
譬如,存在一组记录文件,分别为‘1.dat’,‘2.dat‘...
当我把该文件夹中的所有记录文件名读到一个列表中,这些字符串的排列方式为:
如何让这些字符串按照数字排列?
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
得到的结果即为
对于该操作,同样可以使用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
按照字符串中的数组进行排序的方法(python)
相关内容
- 如何轻松降级python for linux,,在Linux上,使用
- Python内置函数,,1,int类型的方法
- python之字符串中有关%d,%2d,%02d的问题,,在python中,通
- python--小游戏(循环+随机),pythonpygame小游戏, 1 impor
- python笔记之BytesIO,, 1. 什么是Byt
- python email模块,,python ema
- 你为什么不来了解一下Python?,,一、什么是Pytho
- python_正则表达式,python正则表达式详解,字符组:[]
- python-面向对象(1),,面向对象编程(oop
- Python之路-(js正则表达式、前端页面的模板套用、Djang
评论关闭