python - 面試題 - 列表中取出前四位


列表排序:

思路:
排序 - 切片取數據

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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM