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

Python中的sorted()函数:返回一个排好序的列表

发布时间:2023-06-17 06:53:13

Python中的sorted()函数是一个内置函数,用于对列表、元组、字典等进行排序操作。它的返回值是一个排好序的新列表,原始数据集合不会受到影响。

sorted()函数的语法格式如下:

sorted(iterable, key=None, reverse=False)

其中,iterable是需要进行排序的集合,可以是列表、元组、字典等。key是一个可选参数,用于指定用于排序的函数。如果指定了key函数,则在排序时会将iterable中的每个元素传递给key函数,并根据函数返回值进行排序。reverse也是一个可选参数,用于指定是否按照相反的顺序进行排序。

下面,我们来具体介绍一下sorted()函数的用法。

1. 对列表进行排序

对列表进行排序非常简单。我们可以直接将待排序的列表作为sorted()函数的参数,然后将结果保存到一个新的变量中。例如:

a = [3, 9, 2, 8, 5, 1]
b = sorted(a)
print(b)

输出结果是:

[1, 2, 3, 5, 8, 9]

可以看到,列表a中的元素被排序之后,生成了一个新的列表b。

2. 对元组进行排序

元组和列表很相似,可以使用sorted()函数进行排序。我们同样可以将待排序的元组作为sorted()函数的参数,并将结果保存到一个新的变量中。例如:

a = (3, 9, 2, 8, 5, 1)
b = sorted(a)
print(b)

输出结果是:

[1, 2, 3, 5, 8, 9]

可以看到,元组a中的元素被排序之后,生成了一个新的列表b。

3. 对字典进行排序

对字典排序时,要注意,sorted()函数默认只会按照字典的键进行排序。如果我们需要根据字典的值进行排序,可以通过指定key参数来实现。例如:

a = {'a': 10, 'b': 5, 'c': 20, 'd': 15}
b = sorted(a.items(), key=lambda x: x[1])
print(b)

输出结果是:

[('b', 5), ('a', 10), ('d', 15), ('c', 20)]

我们可以看到,字典a中的键值对被排序之后,生成了一个新的列表b。key参数指定了根据字典的值进行排序,并使用了一个lambda函数来返回字典元素的值。

4. 指定排序顺序

sorted()函数默认按照升序进行排序,如果我们需要按照降序进行排序,可以通过指定reverse参数来实现。例如:

a = [3, 9, 2, 8, 5, 1]
b = sorted(a, reverse=True)
print(b)

输出结果是:

[9, 8, 5, 3, 2, 1]

我们可以看到,列表a中的元素被按照降序进行排序之后,生成了一个新的列表b。

总结:

Python中的sorted()函数可以用于对列表、元组、字典等进行排序操作。它的返回值是一个排好序的新列表。sorted()函数有两个可选参数,key参数用于指定排序函数,reverse参数用于指定排序顺序。需要注意的是,sorted()函数不会改变原始数据集合。