列表元素的排序操作常见方式有两种:
●调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True进行降序排序。
●调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变。
lst=[20,40,10,98,54]
print(‘排序前的列表’,lst,id(lst)) #[20,40,10,98,54]xxxxx7408
#开始排序,调用列表对象的sort方法,升序排序
lst.sort()
print(‘排序后的列表’,lst,id(lst)) #[10,20,40,54,98]xxxxx7408
我们可以看到两个列表的id没有发生变化,说明是在原列表的基础上进行的排序。
#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True) #True改成False,则为升序排序。对于新手小白想更轻松的学好Python基础,Python爬虫,web开发、大数据,数据分析,人工智能等技术,这里给大家分享系统教学资源,架下我尉(同英): 2763 177 065 【教程/工具/方法/解疑】
print(lst) #[98,54,40,20,10]
#使用内置函数sorted()对列表进行排序,将产生新的列表对象
lst=[20,40,10,98,54]
print(‘原列表’,lst)
#开始排序
new_lst=sorted(lst)
print(lst) #[20,40,10,98,54]
print(new_lst) #[10,20,40,54,98]
#指定关键字参数,实现列表元素的降序排序
desc_lst=sorted(lst,reverse=True)
print(desc_lst) #[98,54,40,20,10]
总结:sort()和sorted()两种方法的区别:sort()是在原列表的基础上进行排序,而sorted()则会产生一个新列表,原列表不发生变化。