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

Python中的sorted()函数使用方法与举例

发布时间:2023-06-15 03:27:38

Python中的sorted()函数是一个内置函数,用于对可迭代对象进行排序。可迭代对象可以是列表、元组、字典等。sorted()函数可以按升序或降序对可迭代对象进行排序。

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

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

其中,参数iterable是要排序的可迭代对象;参数key是一个函数,用于指定排序的依据,可以省略;参数reverse表示是否按降序排序,默认为False。

下面就是一些 sorted()函数的常见用法和举例:

1. 对列表进行排序

sorted()函数可以对一个列表进行排序,例如:

a = [3, 9, 2, 8, 5]

a_sorted = sorted(a)

print(a_sorted)

输出结果为:

[2, 3, 5, 8, 9]

2. 按照指定的关键字进行排序

若想按照某个指定的关键字进行排序,可以使用key参数来指定排序的依据,例如:

students = [

    {'name': 'Alice', 'grade': 80},

    {'name': 'Bob', 'grade': 70},

    {'name': 'Charlie', 'grade': 90},

    {'name': 'David', 'grade': 85}

]

students_sorted = sorted(students, key=lambda x: x['grade'], reverse=True)

print(students_sorted)

输出结果为:

[{'name': 'Charlie', 'grade': 90}, {'name': 'David', 'grade': 85},

 {'name': 'Alice', 'grade': 80}, {'name': 'Bob', 'grade': 70}]

上述例子中,使用了lambda函数来指定排序的关键字,即按照学生成绩从高到低排序。

3. 对字典按照key或value进行排序

可以使用sorted()函数对字典按照key或value进行排序,例如:

d = {'apple': 10, 'orange': 20, 'banana': 5, 'pear': 15}

d_sorted_key = sorted(d.items(), key=lambda x: x[0])

d_sorted_value = sorted(d.items(), key=lambda x: x[1])

print(d_sorted_key)

print(d_sorted_value)

输出结果为:

[('apple', 10), ('banana', 5), ('orange', 20), ('pear', 15)]

[('banana', 5), ('apple', 10), ('pear', 15), ('orange', 20)]

上述例子中,使用了.items()方法将字典转化为可迭代对象,并使用lambda函数来指定排序的依据。

4. 对元组进行排序

同样可以使用sorted()函数对元组进行排序,例如:

t = (3, 9, 2, 8, 5)

t_sorted = sorted(t)

print(t_sorted)

输出结果为:

[2, 3, 5, 8, 9]

总之,sorted()函数是Python内置的一个非常实用的函数,可用于对各种数据类型进行排序。在实际应用中,可以根据需要灵活使用。