Python中的sorted()函数:列表排序
发布时间:2023-06-14 09:10:07
Python中的sorted()函数是一个非常实用和强大的函数,可以对列表(list)进行排序,也可以对其他可迭代对象进行排序,如字符串(string)和元组(tuple)等。本文将重点介绍sorted()函数在列表排序中的应用。
1. sorted()函数的语法
sorted()函数的语法如下:
sorted(iterable, key=None, reverse=False)
其中,iterable是要排序的列表或其他可迭代对象;key是一个函数,用来指定排序时比较的关键字;reverse是一个布尔值,用来指定是否要倒序排列。如果reverse=True,则按照倒序排列,默认为False。
2. sorted()函数的用法
sorted()函数可以用于对各种类型的列表排序。下面是几个示例:
2.1 对数字列表排序
numbers = [5, 3, 8, 1, 7] sorted_numbers = sorted(numbers) print(sorted_numbers)
输出结果:
[1, 3, 5, 7, 8]
2.2 对字符串列表排序
fruits = ['banana', 'apple', 'orange', 'pear'] sorted_fruits = sorted(fruits) print(sorted_fruits)
输出结果:
['apple', 'banana', 'orange', 'pear']
2.3 对元组列表排序
students = [('Tom', 25), ('Jerry', 22), ('Mike', 28), ('Lisa', 24)]
sorted_students = sorted(students, key=lambda x:x[1])
print(sorted_students)
输出结果:
[('Jerry', 22), ('Lisa', 24), ('Tom', 25), ('Mike', 28)]
这个例子按照学生的年龄从小到大排序,使用了lambda函数来指定排序时的关键字。
3. sorted()函数与sort()方法的区别
在Python中,列表有一个sort()方法,也可以用来排序。与sorted()函数不同的是,sort()方法是在原来的列表上进行排序,而sorted()函数是创建一个新的排序后的列表,原来的列表不变。例如:
numbers = [5, 3, 8, 1, 7] numbers.sort() print(numbers)
输出结果:
[1, 3, 5, 7, 8]
numbers = [5, 3, 8, 1, 7] sorted_numbers = sorted(numbers) print(sorted_numbers) print(numbers)
输出结果:
[1, 3, 5, 7, 8] [5, 3, 8, 1, 7]
4. 总结
sorted()函数是一个非常实用和强大的函数,可以用来对各种类型的列表进行排序。它还支持指定排序时的关键字和是否倒序排列。与sort()方法不同,sorted()函数是不会改变原有列表的,而是生成一个新的排序后的列表。在实际使用中,根据具体的需求选择sort()方法还是sorted()函数。
