Python中的sorted函数教程
Python中的sorted()函数用于对一个序列进行排序。该函数返回排序后的序列,而原序列不会被修改。
sorted()函数语法如下:
sorted(iterable, key=None, reverse=False)
参数:
iterable:必选,表示需要排序的序列,可以是列表、元组等可迭代对象。
key:可选,用于进行排序的关键字,一般是一个函数,根据该函数的返回值进行排序。
reverse:可选,默认为False,表示升序排序,如果为True则表示降序排序。
示例:
以下代码演示了sorted()函数的用法:
# 对列表进行排序
a = [3, 5, 1, 4, 2]
b = sorted(a)
print(b) # 输出 [1, 2, 3, 4, 5]
# 对元组进行排序
c = (3, 5, 1, 4, 2)
d = sorted(c)
print(d) # 输出 [1, 2, 3, 4, 5]
# 对字典进行排序
e = {'a': 3, 'c': 1, 'b': 2}
f = sorted(e.items(), key=lambda x: x[1])
print(f) # 输出 [('c', 1), ('b', 2), ('a', 3)]
# 对字符串进行排序
g = 'cbda'
h = sorted(g)
print(h) # 输出 ['a', 'b', 'c', 'd']
从上述示例可以发现,sorted()函数可以对列表、元组、字典、字符串等进行排序,同时也可以通过设置key参数实现自定义排序。
详解参数:
1. iterable
sorted()函数的 个参数是需要排序的序列,可以是列表、元组等可迭代对象。对于列表或者元组,sorted()函数会返回一个新的已排序的列表或者元组,而原列表或元组不会被修改。
2. key
key参数是用来设定排序的规则的,它可以是一个函数或者lambda表达式。具体来讲,它会根据该函数返回值的大小来进行排序。
例如,假设存在以下字典:
d = {'apple': 3, 'banana': 2, 'orange': 4}
如果我们想要按照字典的值进行大小排序,可以使用以下代码:
sorted(d.items(), key=lambda x: x[1])
其中,key参数的值为一个lambda表达式,该表达式返回一个列表元素的第二个值(即字典的值),这样就可以对字典的值进行排序了。
3. reverse
如果reverse设为True,则是进行降序排列,否则为升序排列。默认值为False,即升序排列。
例如,如果我们想要对以下序列进行降序排列:
a = [3, 5, 1, 4, 2]
可以使用以下代码:
sorted(a, reverse=True)
输出为 [5, 4, 3, 2, 1]。
总结:
sorted()函数是Python中常用的排序函数之一,它可以对列表、元组、字典、字符串等进行排序,并且通过设置key参数可以实现自定义排序。掌握sorted()函数的使用方式,可以让我们更方便地对序列进行排序和统计。
