Python中的“sorted()”函数用法
在Python中,sorted()函数是一个用于对可迭代对象进行排序的内置函数。它接受一个可迭代对象作为参数,并返回一个新的已排序的列表。
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable: 必需,表示要排序的可迭代对象,例如列表、元组、字符串等。
- key: 可选,表示排序时要应用的函数,用于从每个元素中提取用于排序的键。默认值为None。
- reverse: 可选,表示是否按降序进行排序。默认值为False,即按升序进行排序。
sorted()函数会基于给定的可迭代对象中的元素进行排序,并返回一个新的已排序的列表。原始的可迭代对象不会被修改。
下面我们来具体介绍sorted()函数的用法。
1. 对列表进行排序
可以使用sorted()函数来对一个列表进行排序,例如:
numbers = [4, 2, 7, 1, 9, 5] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出: [1, 2, 4, 5, 7, 9]
上述代码中,我们对一个包含6个整数的列表进行排序。sorted()函数会返回一个新的已排序的列表,而不会修改原始的列表。
2. 对字符串进行排序
sorted()函数也可以用于对字符串进行排序,例如:
string = "hello" sorted_string = sorted(string) print(sorted_string) # 输出: ['e', 'h', 'l', 'l', 'o']
上述代码中,我们对一个字符串进行排序,sorted()函数会返回一个新的已排序的列表,其中包含字符串中的字符按照字母顺序排列。
3. 指定排序的key函数
sorted()函数可以接受一个key参数,用于指定排序时要应用的函数。这个函数将作用于可迭代对象的每个元素,并从中提取一个键来用于排序。
例如,我们可以使用len()函数作为key来按照字符串的长度对一个字符串列表进行排序,例如:
strings = ["apple", "banana", "cherry", "kiwi", "melon"] sorted_strings = sorted(strings, key=len) print(sorted_strings) # 输出: ['kiwi', 'apple', 'banana', 'cherry', 'melon']
上述代码中,我们使用了len()函数作为key来按照字符串的长度进行排序。sorted()函数会基于提取的长度值对原始的字符串列表进行排序。
4. 排序的逆序
sorted()函数还可以通过设置reverse参数来实现逆序排序。默认情况下,reverse为False,表示按升序进行排序。
例如,我们可以对一个数字列表进行逆序排序,例如:
numbers = [1, 5, 3, 2, 4] reverse_sorted_numbers = sorted(numbers, reverse=True) print(reverse_sorted_numbers) # 输出: [5, 4, 3, 2, 1]
上述代码中,我们设置了reverse参数为True,这样sorted()函数会按降序进行排序,返回一个新的逆序排序的列表。
总结:
- sorted()函数是一个用于对可迭代对象进行排序的内置函数。
- 可以指定key函数来从可迭代对象的每个元素中提取一个键进行排序。
- 可以设置reverse参数来控制排序的顺序。
