【python学习笔记】Python中排序sorted()和list.sort()
2017-09-21 16:36
696 查看
说明
sorted 和list.sort 都接受key, reverse定制。但是区别是。list.sort()是列表中的方法,只能用于列表。而sorted可以用于任何可迭代的对象。list.sort()是在原序列上进行修改,不会产生新的序列。所以如果你不需要旧的序列,可以选择list.sort()。 sorted() 会返回一个新的序列。旧的对象依然存在。sort是容器的函数:sort(cmp=None, key=None, reverse=False)
sorted是python的内建函数:sorted(iterable, cmp=None, key=None, reverse=False)
参数解析:
cmp(Python3取消此参数):比较函数,比较什么参数由key决定。例如:cmp(e1, e2) 是具有两个参数的比较函数,返回值:负数(e1 < e2);0(e1 == e2);正数( e1 > e2)。
key:用列表元素的某个属性或函数作为关键字
reverse:排序规则,reverse=False为升序排序;reverse=True为降序排序
sorted多一个参数iterable:待排序的可迭代类型的容器
排序使用
基本排序L = [5, 2, 3, 1, 4] L.sort() print L >>> [1, 2, 3, 4, 5] print sorted([5, 2, 3, 1, 4]) >>> [1, 2, 3, 4, 5]
根据参数key排序
L = [('b',2),('a',1),('c',3),('d',4)] print sorted(L, key=lambda x:x[1])) >>> [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
根据参数reverse排序
a=[1,2,5,3,9,4,6,8,7,0,12] a.sort(reverse=False) print a >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]
基于cmp函数排序
L = [('a', 90), ('b',90), ('e',80),('c',95)] a = sorted(L, cmp=lambda x, y: cmp(x[0], y[0])) print a >>> [('e', 80), ('a', 90), ('b', 90), ('c', 95)]
leason | 个人博客
相关文章推荐
- Python List、Dict等的sort与sorted排序
- Python 排序---sort与sorted学习
- Collections.sort(List list) list排序学习笔记
- Python学习笔记(七)—— List.sort 与二进制搜索bisect
- Python学习笔记——sorted()对tuple类型的序列排序
- python list排序sort和sorted的区别
- python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数
- python list列表sort、sorted、reverse排序
- Python 学习笔记之列表(List)
- Python学习笔记 - List数组和Tuple数组 -2
- Python学习笔记:列表(list)有关函数
- 学习笔记14-python list
- python数据结构学习笔记-2016-10-24-01-排序列表
- python学习笔记之列表(list)
- leetcode—217. Contains Duplicate 查找双数,python排序sort、sorted,for遍历的范围
- python 中 sorted() 和 list.sort() 的用法
- 【学习笔记】python版选择排序和插入排序及时间复杂度分析
- Python 学习笔记【list的操作方法】
- 【ZZ】Python 学习笔记 02 – List 推导式
- sorted(),list.sort()函数应用排序字符串的ip地址