Python 排序

2019-05-31  本文已影响0人  tafanfly

sorted:用于可迭代对象排序

语法 : sorted(iterable, key=None, reverse=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)
参数:

返回: 返回值为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)
参数:

返回: 返回一个反向排序的迭代对象, 注意并不会改变原有的迭代对象

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']
上一篇下一篇

猜你喜欢

热点阅读