sorted()函数:如何在Python中对列表进行排序?
在Python中,可以使用sorted()函数对列表进行排序。该函数可以按字典序或者自定义关键字进行排序。本文将从函数的语法和参数介绍,到对列表排序的实例讲解,为读者详细介绍sorted()函数的使用。
一、sorted()函数的语法和参数介绍
sorted()函数的基本语法如下:
sorted(iterable[, key][, reverse])
其中,iterable代表要排序的可迭代对象(如列表、元组、字典等),默认按照可迭代对象内元素的大小进行排序。key参数可选,代表自定义比较函数,用于对列表内的元素进行排序。reverse参数也可选,代表是否按照降序排序,默认为False,代表升序排序。
二、对列表进行排序
按照默认方式,sorted()函数可以对列表中的元素按照从小到大的顺序进行排序。对于数字列表:
nums = [9, 2, 5, 1, 7, 3]
sorted_nums = sorted(nums)
print(sorted_nums)
输出结果为:
[1, 2, 3, 5, 7, 9]
对于字符列表:
fruits = ['orange', 'banana', 'apple', 'pear']
sorted_fruits = sorted(fruits)
print(sorted_fruits)
输出结果为:
['apple', 'banana', 'orange', 'pear']
或者直接使用列表的sort方法:
fruits.sort()
print(fruits)
输出结果同上。
如果想按照降序排序,可以使用reverse参数:
nums = [9, 2, 5, 1, 7, 3]
sorted_nums = sorted(nums, reverse=True)
print(sorted_nums)
输出结果为:
[9, 7, 5, 3, 2, 1]
也可以使用自定义比较函数进行排序。比如对于字符串列表,我们可以按照字符串长度排序:
def string_len(s):
"""
自定义字符串长度比较函数
"""
return len(s)
fruits = ['orange', 'banana', 'apple', 'pear']
sorted_fruits = sorted(fruits, key=string_len)
print(sorted_fruits)
输出结果为:
['pear', 'apple', 'banana', 'orange']
可以发现,字符串列表被按照字符串长度的大小进行升序排序了。
除了自定义比较函数外,还可以使用lambda表达式作为key参数的值。比如对于数字列表,我们可以按照数字的绝对值进行排序:
nums = [-9, 2, -5, 1, 7, -3]
sorted_nums = sorted(nums, key=lambda x: abs(x))
print(sorted_nums)
输出结果为:
[1, 2, -3, -5, 7, -9]
可以发现,数字列表按照它们的绝对值大小进行排序了。
三、总结
sorted()函数可以方便地对Python中的列表进行排序。其语法和参数比较简单,理解其使用方法后,可以轻松地编写出符合自己需求的排序代码。
