【Python】Python列表排序 list.sort方法和内置函数sorted用法

Python列表排序 list.sort方法和内置函数sorted用法

在Python中,列表是一种常用的数据类型,可以来存储一组有序的数据。为了更好地处理列表数据,Python提供了两种排序方法:list.sort()方法和内置函数sorted。本文将介绍这两种方法的用法,并提供两个示例说明。

list.sort()方法

list.sort()方法是列表对象的一个方法,用于对列表进行排序。该方法会直接修改原列表,而不是返回一个新的排序后的列表。例如:

lst = [3, 1, 4 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort()

print(lst) # 输出[1, 1,2, 3, 3, 4, 5, 5, 5, 6, 9]

上述代码演示了如何使用list.sort()方法对列表进行排序。

list.sort()方法还可以接受一个参数,用于控制排序的顺序。当reverse=True时,表示降序排序;当reverse=False时,表示升序排序。例如:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort(reverse=True)

print(lst) # 输出[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

上述代码演示了如何使用.sort()方法对列表进行降序排序。

内置函数sorted()

内置函数sorted()可以对任何可迭代对象进行排序,包括列表、元组、字典等。该函数会返回一个新的排序后的列表,而不会修改原。例如:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

new_lst = sorted(lst)

print(new_lst) # 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

上述代码演示了如何使用sorted()函数对列表进行排序。

Python技术站热门推荐:

PDF电子发票识别软件,一键识别电子发票并导入到Excel中!

10大顶级数据挖掘软件!

人工智能的十大作用!

sorted()函数也可以接受一个reverse参数,用于控制排序的顺序。当reverse=True时,表示降序排序;当reverse=False时,表示升序排序。例如:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

new_lst = sorted(lst, reverse=True)

print(new_lst) # 输出[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

上述代码演示了如何使用sorted()函数对列表进行降序排序。

示例说明

示例一:使用list.sort()方法对学生信息进行排序

students = [

{‘name’: ‘Tom’, ‘age’: 18, ‘gender’: ‘male’},

{‘name’: ‘Lucy’, ‘age’: 19, ‘gender’: ‘female’},

{‘name’: ‘Jack’, ‘age’: 20, ‘gender’: ‘male’}

]

students.sort(key=lambda x: x[‘age’])

print(students) # 输出[{‘name’: ‘Tom’, ‘age’: 18, ‘gender’: ‘male’}, {‘name’: ‘Lucy’, ‘age’: 19, ‘gender’: ‘female’}, {‘name’: ‘Jack’, ‘age’: 20, ‘gender’: ‘male’}]

上述代码演示了如何使用list.sort()方法对学生信息按照年龄进行升序排序。

示例二:使用sorted()函数对一组数据进行统计

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

new_lst = sorted(lst)

sum = 0

for i in new_lst:

sum += i

avg = sum / len(new_lst)

print(‘列表中的元素之和为:’, sum) # 输出列表中的元素之和为: 44

print(‘列表中的元素平均值为:’, avg) # 输出列表中的元素平均值为: 4.0

上述代码演示了如何使用sorted()函数对一组数据进行排序,并计算列表中的元素和平均值。

总结

Python中提供了list.sort()方法和内置函数sorted()两种排序方法,可以对列表进行排序。本文详讲解了这两种方法的用法,并提供了两个示例说明。掌握这些知识可以更加高效地处理列表数据。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/efeef7b7a2.html