列表排序:
思路:
排序 - 切片取数据
1、内建方法 sort()
list.sort(func=None, key=None, reverse=False(or True))
(1)、reverse默认是False,正向排序(从小到大),当reverse=True时,逆向排序(从大到小)
(2)、执行完后会改变原来的list
list = [9, 7, 67, 99, 2, 80, 76, 1, 3]
list.sort()
print(list) # [1, 2, 3, 7, 9, 67, 76, 80, 99] 默认顺序从小到大
list.sort(reverse=True) # 当reverse=True时,逆向排序(从大到小)
print(list) # [99, 80, 76, 67, 9, 7, 3, 2, 1]
2、内建函数sorted()
sorted(list)
(1)、执行后生成一个新的list
(2)、reverse默认是False,正向排序(从小到大),当reverse=True时,逆向排序(从大到小)
sort 和 sorted 的区别:
1、sorted()不会改变原来的list,而是会返回一个新的已经排序好的list
2、ist.sort()方法仅仅被list所定义,sorted()可用于任何一个可迭代对象
list = [9, 7, 67, 99, 2, 80, 76, 1, 3]
new_list = sorted(list) # 返回一个新的已经排序好的list,从小到大
print(new_list) # [1, 2, 3, 7, 9, 67, 76, 80, 99]
# 从大到小排序
list = [9, 7, 67, 99, 2, 80, 76, 1, 3]
new_list = sorted(list, reverse=True) # reverse=True,从大到小排序
print(new_list) # [99, 80, 76, 67, 9, 7, 3, 2, 1]
使用列表切割方法取出最大的四个数
方法一、
list = [9, 7, 67, 99, 2, 80, 76, 1, 3]
new_list = sorted(list, reverse=True) # reverse=True,从大到小排序
print(new_list[:4]) # [99, 80, 76, 67]
方法二、
list = [9, 7, 67, 99, 2, 80, 76, 1, 3]
new_list = sorted(list) # 从小到大排序
print(new_list[-4:]) # [67, 76, 80, 99]