欢迎访问宙启技术站
智能推送

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()函数可以轻松地对列表进行排序,提高代码的可读性和可维护性。