(1)列表排序:
列表排序方法
ls.sort()
对列表ls 中的数据在原地进行排序 ls = [13, 5, 73, 4, 9] ls.sort()
ls.sort(reverse=False)
默认升序,reverse=True,降序 ls = [13, 5, 73, 4, 9] ls.sort(reverse=True)
key指定排序时应用到每个参与排序元素上的规则
不影响列表中元素的值
ls.sort(key=None)
ls = ['73', '13', '9', '5', '04'] ls.sort() ls.sort(key=int) 元素转整型做排序依据
默认升序,reverse=True,降序
ls.sort(key=None)
ls = ['app', 'Apple', 'at', 'AM'] ls.sort() ls.sort(key=len) ls.sort(key=str.lower) print(ls) 依据元素长度排序 依据元素小写字母
ls.reverse()
不比较元素大小,直接将列表ls中的元素逆序
my_list = ['12', '13', '14', '23'] my_list.reverse() print(my_list)
内置排序函数
sorted(iterable)
reversed(seq)
创建新的排序或逆序对象
不改变列表中的原始数据的顺序
ls.sort(*, key=None, reverse=False)
ls.reverse()
不创建新对象,原地操作,无返回值
(2)内置排序函数
sorted(iterable,*, key=None, reverse=False)
根据可迭代对象参数iterable,返回一个新的排序后的列表
支持排序关键字参数key和反转参数reverse
返回值是排序后的列表
ls = [13, 5, 73, 4, 9] ls_sort = sorted(ls)
sorted(iterable)
参数不限于列表
可为字符串等可迭代对象
s = 'Python' ls_sort = sorted(s, reverse=True)
reversed(seq)
返回一个将序列seq中的元素顺序反转的迭代器对象
用list()转为列表再查看反转结果
ls = ['73', '9', '13', '04'] ls1 = reversed(ls) ls2 = list(ls1) <list_reverseiterator object at 0x0000022FC67A7040>