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

Python中的sorted函数教程

发布时间:2023-06-01 04:04:57

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()函数的使用方式,可以让我们更方便地对序列进行排序和统计。