列表排序:
思路:
排序 - 切片取數據
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]