温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python怎么按降序或升序排序

发布时间:2022-01-26 09:22:47 来源:亿速云 阅读:1450 作者:iii 栏目:开发技术

本文小编为大家详细介绍“Python怎么按降序或升序排序”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么按降序或升序排序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

在 Python 中,您可以使用sorted()方法或sort()方法对数据进行排序。

Python sort() 方法

此方法接受一个列表并对其进行排序。此方法没有返回值。

在这个例子中,我们有一个数字列表,我们可以使用该sort()方法按升序对列表进行排序。

my_list = [67, 2, 999, 1, 15]

# this prints the unordered list
print("Unordered list: ", my_list)

# sorts the list in place
my_list.sort()

# this prints the ordered list
print("Ordered list: ", my_list)

Python怎么按降序或升序排序

如果列表已经排序,那么它将在控制台中返回 None 。

my_list = [6, 7, 8, 9, 10]

# this will return None because the list is already sorted
print(my_list.sort())

Python怎么按降序或升序排序

sort()方法可以接受两个可选参数,称为keyreverse

key  具有将在列表中的每个项目上调用的函数的值。

在这个例子中,我们可以使用len()函数作为key参数的值。key=len将告诉计算机按长度从最小到最大对名称列表进行排序。

names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"]

print("Unsorted: ", names)
names.sort(key=len)
print("Sorted: ", names)

Python怎么按降序或升序排序

reverse为一个布尔值True 或者 False

在这个例子中,reverse=True将告诉计算机以逆字母顺序对列表进行排序。

names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"]

print("Unsorted: ", names)
names.sort(reverse=True)
print("Sorted: ", names)

Python怎么按降序或升序排序

Python sorted() 方法

此方法将从可迭代对象返回一个新的排序列表。可迭代对象的示例包括列表、字符串和元组。

sort()sorted()之间的一个主要区别是sorted()将返回一个新列表,同时sort()对列表进行排序。

在这个例子中,我们有一个将按升序排序的数字列表。

sorted_numbers = sorted([77, 22, 9, -6, 4000])

print("Sorted in ascending order: ", sorted_numbers)

Python怎么按降序或升序排序

sorted()方法还接受可选keyreverse参数。

在这个例子中,我们有一个按降序排序的数字列表。reverse=True告诉计算机将列表从最大到最小反转。

sorted_numbers = sorted([77, 22, 9, -6, 4000], reverse=True)

print("Sorted in descending order: ", sorted_numbers)

Python怎么按降序或升序排序

sorted()和之间的另一个主要区别sort()是该sorted()方法接受任何可迭代对象,而该sort()方法仅适用于列表。

在此示例中,我们使用split()方法将字符串分解为单个单词。然后我们使用sorted()从最小到最大的长度对单词进行排序。  

my_sentence = "Jessica found a dollar on the ground"

print("Original sentence: ", my_sentence)
print(sorted(my_sentence.split(), key=len))

Python怎么按降序或升序排序

我们还可以修改此示例并包含keyreverse参数。

这个修改后的示例现在将从最大到最小对列表进行排序。

my_sentence = "Jessica found a dollar on the ground"

print("Original sentence: ", my_sentence)
print(sorted(my_sentence.split(), key=len, reverse=True))

Python怎么按降序或升序排序

我们也可以使用 sorted()上的方法tuples

在这个例子中,我们有一个tuples代表乐队学生姓名、年龄和乐器的集合。

band_students = [
    ('Danny', 17, 'Trombone'),
    ('Mary', 14, 'Flute'),
    ('Josh', 15, 'Percussion')
]

我们可以使用该sorted()方法按学生的年龄对这些数据进行排序。该key可以传入一个lambda函数,告诉计算机按年龄进行升序排序。

一个lambda函数是一个没有名称的匿名函数。您可以使用lambda关键字定义这种类型的函数。

lambda student: student[1]

要访问 a 中的值tuple,请使用括号表示法和要访问的索引号。由于我们从零开始计数,因此年龄值为[1]。

这是完整的示例。

band_students = [
    ('Danny', 17, 'Trombone'),
    ('Mary', 14, 'Flute'),
    ('Josh', 15, 'Percussion')
]

print(sorted(band_students, key=lambda student: student[1]))

Python怎么按降序或升序排序

我们可以修改此示例并改为按仪器对数据进行排序。我们可以使用reverse的逆字母顺序对工具进行排序。

band_students = [
    ('Danny', 17, 'Trombone'),
    ('Mary', 14, 'Flute'),
    ('Josh', 15, 'Percussion')
]

print(sorted(band_students, key=lambda student: student[2], reverse=True))

读到这里,这篇“Python怎么按降序或升序排序”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI