Python 排序
2019-05-31 本文已影响0人
tafanfly
sorted:用于可迭代对象
排序
语法 : sorted(iterable, key=None, reverse=False)
参数:
- iterable --
迭代对象
- key -- 指定可迭代对象中的
一个元素
来进行排序 - reverse -- 为布尔值,
指定排序规则
,True 为降序 , False 为升序
返回: 返回一个重新排好序的list, 注意并不会改变原有的迭代对象
L = ['a', 'B', 'D', 'f', 'c']
L1 = sorted(l)
print (L) # 原有对象不变
['a', 'B', 'D', 'f', 'c']
print (L1) # 按照字符的ASCII码大小排序
['B', 'D', 'a', 'c', 'f']
L2 = sorted(l, key=str.lower)
print (L2) # 不区分大小写的字符排序
['a', 'B', 'c', 'D', 'f']
L3 = sorted(l, key=str.lower, reverse=True)
print (L3) # 不区分大小写的字符反向排序
['f', 'D', 'c', 'B', 'a']
student = {'Anne' : 80, 'Tom' : 90, 'Jack' : 60}
new = sorted(student, key=lambda x: student[x])
print (new)
['Jack', 'Anne', 'Tom']
list.sort : 用于列表
排序
语法 : sort(*, key=None, reverse=False)
参数:
- key -- 指定可迭代对象中的
一个元素
来进行排序 - reverse -- 为布尔值,
指定排序规则
,True 为降序 , False 为升序
返回: 返回值为None, 直接改变原有的序列
并进行排序
l = ['B', 'D', 'a', 'c', 'f']
n = l.sort(key=str.lower, reverse=True)
print (n)
None
print (l)
['f', 'D', 'c', 'B', 'a']
reversed:用于可迭代对象
的反转
语法 : reversed(seq)
参数:
- seq --
迭代对象
返回: 返回一个反向排序的迭代对象, 注意并不会改变原有的迭代对象
l = ['a', 'b', 'c']
new = reversed(l)
print (l)
['a', 'b', 'c']
print (new)
<list_reverseiterator object at 0x7f33ac854f60>
print (list(new))
['c', 'b', 'a']
list.reverse() : 用于列表
的反转
参数: list
返回: 返回None, 注意改变原有的列表并反转
l = ['a', 'b', 'c']
new = l.reverse()
print (new)
None
print (l)
['c', 'b', 'a']