Python中的sorted()函数-用于排序列表
发布时间:2023-08-26 15:38:52
在Python中,sorted()是一个内置函数,主要用于对列表进行排序。它接受一个可迭代对象作为参数,返回一个新的已排序的列表。
sorted()函数有以下几种用法:
1. 对列表进行正序排序:
numbers = [5, 2, 9, 1, 4] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出: [1, 2, 4, 5, 9]
在这个例子中,sorted()函数将列表numbers中的元素按照从小到大的顺序排序,并赋值给新的列表sorted_numbers。原列表numbers的顺序不会被改变。
2. 对列表进行倒序排序:
numbers = [5, 2, 9, 1, 4] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出: [9, 5, 4, 2, 1]
通过设置reverse=True参数,可以对列表进行倒序排序。
3. 对字符串进行排序:
words = ['apple', 'banana', 'orange', 'pear'] sorted_words = sorted(words) print(sorted_words) # 输出: ['apple', 'banana', 'orange', 'pear']
sorted()函数可以对字符串列表进行排序。按照字母表顺序排序。
4. 按照自定义的排序规则进行排序:
fruits = ['apple', 'banana', 'orange', 'pear'] sorted_fruits = sorted(fruits, key=len) print(sorted_fruits) # 输出: ['pear', 'apple', 'banana', 'orange']
在这个例子中,我们通过设置key=len参数,按照字符串的长度进行排序。sorted()函数将根据key函数的返回值进行排序。
5. 对字典按照键或值进行排序:
ages = {'John': 25, 'Amy': 30, 'Bob': 20}
sorted_ages = sorted(ages.items(), key=lambda x: x[1])
print(sorted_ages) # 输出: [('Bob', 20), ('John', 25), ('Amy', 30)]
如果要对字典按照键或值进行排序,可以使用items()方法将字典转换为包含键值对的元组列表,并且通过设置key参数来指定排序的规则。
需要注意的是,sorted()函数返回一个新的已排序的列表,而不会改变原始列表。如果需要就地排序,可以使用列表的sort()方法。
总结一下,sorted()函数是Python中用于对列表进行排序的一个重要函数。它可以按照正序或倒序对列表进行排序,并且可以根据自定义的排序规则进行排序。使用sorted()函数可以轻松地对列表进行排序,提高代码的可读性和可维护性。
