Python笔记--String、list、dict排序
2016-10-05 16:09
239 查看
对于序列类型的排序一般用到三种方法reverse(), sort(), sorted() 下面分别介绍这几种方法:
reverse()
用于将序列中元素反转倒序,直接改变list或String
li = [x for x in 'string'] li.reverse() print li #['g', 'n', 'i', 'r', 't', 's']
sort()
用于list排序,从小到大,若要求从大到小可在调用一次reverse(),直接改变list
li = [x for x in 'string'] li.sort() print li #['g', 'i', 'n', 'r', 's', 't']
sorted()
不仅能用于list,还能用于dict排序。返回排序后的list
sorted(iterable, cmp=None, key=None, reverse=False)
把iterable中的items进行排序之后,返回一个新的列表,原来的iterable没有任何改变
1) iterable:所有的序列类型
2) cmp: 指定一个定制的比较函数 def cmp(a,b) return a-b
3)key:指定一个接收一个参数的比较函数,与cmp功能相同
4)reverse:是一个布尔值。如果设置为True,列表元素将被降序排列,默认为升序排列。
一般使用key,用系统lambda作比较函数
adict = {'name':1,'aex':0,'goal':13,'jar':20} '''按字典value值排序''' ls = sorted(adict.items(),key = lambda x:x[1],reverse=True) print ls #[('jar', 20), ('goal', 13), ('name', 1), ('aex', 0)] '''按字典的key值排序''' ls = sorted(adict.items(),key = lambda x:x[0],reverse=True) print ls #[('name', 1), ('jar', 20), ('goal', 13), ('aex', 0)]
其中x表示列表中的元素,x[0]即第一个元素key,x[1]即第二个元素value.(adict.items() : [(‘aex’, 0), (‘jar’, 20), (‘name’, 1), (‘goal’, 13)])
当然对key排序还可以dict.keys()拿到列表排序,在通过.get(key)来对应顺序。但对value值排序只有这一种。
相关文章推荐
- [python 笔记2]列表、字符串、字典(list?string?map?)
- Python开发学习笔记(9) - list,tuple,string切片
- 《Beginning Python From Novice to Professional》学习笔记三:List
- python string与list互转
- python 内建函数basestring笔记
- <python>string,list,tuple
- python学习笔记(三)list,分片赋值,字典
- Python 学习笔记 - 6.List和Tuple
- Python学习笔记--表list, 元组tuple, 字典dict
- python 系统学习笔记(二)---string
- Python list dic tuple string
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 学习笔记【list的操作方法】
- python 学习笔记之string
- python 学习笔记之list
- python 系统学习笔记(四)--list
- Python学习笔记——String、Sequences
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python 学习笔记之range函数和list