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

Pythonsorted函数的用法与示例

发布时间:2023-06-26 23:49:33

Python的sorted函数是一个有用的内置函数,可以对不同类型的数据进行排序,包括列表、元组和字典。使用方法非常简单,可以接受一个可迭代对象(例如列表),然后返回一个经过排序的新列表 (list)。 排序后的列表不会改变原来的列表,以此来保护数据的安全性。

语法格式:sorted(iterable, key=None, reverse=False)

参数说明:

- iterable(必选):待排序的可迭代对象,例如列表、元组、集合等。

- key(可选):排序函数用于指定比较的元素,key的值可以是一个函数或者 lambda 函数,如果不指定,则默认以元素自身作为比较值。

- reverse(可选):是否反向排序,默认为 False,即升序排序。

sorted()函数的例子:

1. 以升序为例,对列表进行排序

    list1 = [3, 2, 8, 4, 9, 1]
    new_list1 = sorted(list1)
    print(new_list1)
    

输出结果:[1, 2, 3, 4, 8, 9]

2. 以降序为例,对列表进行排序

    list2 = [3, 2, 8, 4, 9, 1]
    new_list2 = sorted(list2, reverse=True)
    print(new_list2)
    

输出结果:[9, 8, 4, 3, 2, 1]

3. 对元组进行排序

    tuple1 = (3, 2, 8, 4, 9, 1)
    new_tuple1 = sorted(tuple1)
    print(new_tuple1)
    

输出结果:[1, 2, 3, 4, 8, 9]

4. 对字典进行排序

    dict1 = {'apple': 10, 'banana': 5, 'orange': 20, 'pear': 8}
    new_dict1 = sorted(dict1.items(), key=lambda x: x[1])
    print(new_dict1)
    

解释: 字典默认是按照 key 值排序,其中的 items() 方法可以将字典中的键值对作为元组转换出来,以可遍历的方式返回字典的(key, value)元素对。这里使用 lambda 表达式定义排序的参数,即按字典中的值从小到大排列,返回的结果是一个列表的元组。

输出结果:[('banana', 5), ('pear', 8), ('apple', 10), ('orange', 20)]

总结:sorted函数可以方便地对不同类型的序列进行排序,快捷、高效并且使用灵活。