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

Python中的sorted()函数用法演示

发布时间:2023-06-29 18:42:45

在Python中,sorted()函数是内置函数之一,用于对可迭代对象进行排序操作。这个函数可以接受一个可迭代对象作为参数,并返回一个经过排序后的新列表,而不会影响原有的可迭代对象。

sorted()函数的基本用法非常简单。我们可以直接将一个可迭代对象作为参数传入函数中,函数会将这个可迭代对象中的元素进行排序,然后返回一个新的排序后的列表。例如,我们可以这样使用sorted()函数来对一个数字列表进行排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

运行以上代码,输出结果为:

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

从输出结果可以看出,sorted()函数对列表进行了从小到大的排序。注意,sorted()函数返回的是一个新列表,而不会改变原有的列表。

除了列表之外,sorted()函数还可以对其他的可迭代对象进行排序,例如字符串、元组等。下面这个例子演示了如何使用sorted()函数对一个字符串进行排序:

string = "hello world"
sorted_string = sorted(string)
print(sorted_string)

运行以上代码,输出结果为:

[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']

从输出结果可以看出,sorted()函数对字符串进行了从小到大的排序,将字符串中的字符按照字母的顺序排列。

除了默认的从小到大排序之外,sorted()函数还可以接受一个名为key的参数,用于指定排序的键值。键值用于对可迭代对象中的元素进行排序,类似于一个评估标准。下面这个例子演示了如何使用sorted()函数对一个字典列表进行排序,按照字典中的值进行排序:

people = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 18},
    {"name": "Charlie", "age": 32},
    {"name": "David", "age": 22}
]

sorted_people = sorted(people, key=lambda x: x["age"])
print(sorted_people)

运行以上代码,输出结果为:

[
    {'name': 'Bob', 'age': 18},
    {'name': 'David', 'age': 22},
    {'name': 'Alice', 'age': 25},
    {'name': 'Charlie', 'age': 32}
]

从输出结果可以看出,sorted()函数按照字典中的age键值对字典列表进行了排序,按照age的大小从小到大进行排序。

最后,sorted()函数还可以接受一个名为reverse的参数,用于指定排序的顺序。如果reverse参数设置为True,则排序结果为降序排列;如果reverse参数设置为False(默认值),则排序结果为升序排列。下面这个例子演示了如何使用sorted()函数对一个数字列表进行降序排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)

运行以上代码,输出结果为:

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

从输出结果可以看出,sorted()函数对列表进行了从大到小的排序。

综上所述,sorted()函数是Python中一个非常常用的排序函数,它能够对可迭代对象进行排序操作,并返回一个新的排序后的列表。通过指定key参数和reverse参数,我们还可以对排序过程进行进一步的控制。掌握sorted()函数的用法,有助于我们快速、灵活地对数据进行排序。