Python 排序列表 | 您所在的位置:网站首页 › 京东排名是按什么排序的 › Python 排序列表 |
在 Python 中,你可以使用 sorted() 方法或 sort() 方法对数据进行排序。 在本文中,我将提供 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)如果列表已经排序,那么它将在控制台中返回 None。 my_list = [6, 7, 8, 9, 10] # this will return None because the list is already sorted print(my_list.sort())sort() 方法可以接受两个可选参数,称为 key 和 reverse。 key 具有将在列表中的每个项目上调用的函数的值。 在这个例子中,我们可以使用 len() 函数作为 key 参数的值。key=len 将告诉计算机按长度从最小到最大对名称列表进行排序。 names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"] print("Unsorted: ", names) names.sort(key=len) print("Sorted: ", names)reverse 有两个布尔值,True 或 False。 在这个例子中,reverse=True 将告诉计算机以逆字母顺序对列表进行排序。 names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"] print("Unsorted: ", names) names.sort(reverse=True) print("Sorted: ", names)如何使用 Python 中的 sorted() 方法此方法将从可迭代对象返回一个新的排序列表。可迭代对象包括列表、字符串和元组等等。 sort() 和 sorted() 之间的一个主要区别是 sorted() 将返回一个新列表,而 sort() 对列表进行原地排序。 在这个例子中,我们有一个按升序排序的数字列表。 sorted_numbers = sorted([77, 22, 9, -6, 4000]) print("Sorted in ascending order: ", sorted_numbers)sorted() 方法还接受可选的 key 和 reverse 参数。 在这个例子中,我们有一个按降序排序的数字列表。reverse=True 告诉计算机将列表从最大到最小反转。 sorted_numbers = sorted([77, 22, 9, -6, 4000], reverse=True) print("Sorted in descending order: ", sorted_numbers)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))我们还可以修改此示例,并包含 key 和 reverse 参数。 这个修改后的示例现在将从最大到最小对列表进行排序。 my_sentence = "Jessica found a dollar on the ground" print("Original sentence: ", my_sentence) print(sorted(my_sentence.split(), key=len, reverse=True))我们还可以对元组使用 sorted() 方法。 在这个例子中,我们有一个代表乐队学生姓名、年龄和乐器的元组集合。 band_students = [ ('Danny', 17, 'Trombone'), ('Mary', 14, 'Flute'), ('Josh', 15, 'Percussion') ]我们可以使用 sorted() 方法按学生的年龄对这些数据进行排序。该键具有 lambda 函数的值,该函数告诉计算机按年龄升序排序。 lambda 函数是没有名称的匿名函数。你可以使用 lambda 关键字来定义这种类型的函数。 lambda student: student[1]要访问元组中的值,请使用括号表示法和要访问的索引号。由于我们从零开始计数,因此年龄值为 [1]。 这是完整的示例。 band_students = [ ('Danny', 17, 'Trombone'), ('Mary', 14, 'Flute'), ('Josh', 15, 'Percussion') ] print(sorted(band_students, key=lambda student: student[1]))我们可以修改此示例,并改为按仪器对数据进行排序。我们可以使用 reverse 通过反向字母顺序对工具进行排序。 band_students = [ ('Danny', 17, 'Trombone'), ('Mary', 14, 'Flute'), ('Josh', 15, 'Percussion') ] print(sorted(band_students, key=lambda student: student[2], reverse=True)) 总结在本文中,我们学习了如何使用 Python 的 sort() 和 sorted() 方法。 sort() 方法仅适用于列表,并对列表进行排序。它没有返回值。 sorted() 方法适用于任何可迭代对象,并返回一个新的排序列表。可迭代对象的示例包括列表、字符串和元组。 这两种方法都有 key 和 reverse 两个可选参数。 key 具有将在列表中的每个项目上调用的函数的值。 reverse 的布尔值为 True 或 False。 原文:Python Sort List – How to Order By Descending or Ascending,作者:Jessica Wilkins |
CopyRight 2018-2019 实验室设备网 版权所有 |