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]

原文地址:https://www.cnblogs.com/wwho/p/15578695.html