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

  • Post category:Python

以下是详细讲解“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]

上述代码演示了如何使用list.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()函数对列表进行排序。

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()两种排序方法,可以对列表进行排序。本文详细讲解了这两种方法的用法,并提供了两个示例说明。掌握这些知识可以更加高效地处理列表数据。