如何在Python中使用内置函数排序列表?
发布时间:2023-06-20 05:40:18
在Python中,内置函数可以帮助我们对列表进行排序。列表可以是数字型列表,字符串列表,甚至是混合列表。在本文中,我们将介绍如何使用内置函数排序列表。
内置函数排序列表的目的是重新排列已有元素,按照某种方式进行排序。排序函数提供了一种从数据集中获得有用信息的方式,可以使数据更易于使用和理解。
Python提供了两种方法来排序列表: sorted()函数和sort()方法。两者的区别在于,sort()方法将原始列表排序,而sorted()函数返回一个已排序的新列表。下面我们将介绍这两种方法的使用方式。
1. sorted()函数
sorted()函数可以用来对列表进行排序。该函数将返回一个新的已排序的列表,不改变原始列表。这个函数有两个参数: iterable和key。iterable参数是一个要排序的可迭代对象,如列表或元组。key参数是一个可选的函数,用于从每个元素中提取一个值来排序。
以下是一个使用sorted()函数排序数字列表的示例:
list1 = [3, 1, 7, 4, 8, 2, 9, 5, 6] sorted_list1 = sorted(list1) print(sorted_list1)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
以下是一个使用sorted()函数排序字符串列表的示例:
list2 = ['apple', 'pear', 'banana', 'orange'] sorted_list2 = sorted(list2) print(sorted_list2)
输出结果为:
['apple', 'banana', 'orange', 'pear']
使用sorted()函数按照元素某个属性排序:
class Student():
def __init__(self, name, score):
self.name = name
self.score = score
def __str__(self):
return self.name + ": " + str(self.score)
students = [
Student("Tom", 87),
Student("Jack", 76),
Student("Lucy", 92),
Student("Bob", 68),
Student("Amy", 88)
]
sorted_students = sorted(students, key=lambda x: x.score)
for student in sorted_students:
print(student)
输出结果为:
Bob: 68 Jack: 76 Tom: 87 Amy: 88 Lucy: 92
2. sort()方法
sort()方法是list对象的方法,用于在原位对列表进行排序,也就是改变了原始列表。sort()方法没有返回值,但是会将原列表排序。
以下是一个使用sort()方法排序数字列表的示例:
list1 = [3, 1, 7, 4, 8, 2, 9, 5, 6] list1.sort() print(list1)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
以下是一个使用sort()方法排序字符串列表的示例:
list2 = ['apple', 'pear', 'banana', 'orange'] list2.sort() print(list2)
输出结果为:
['apple', 'banana', 'orange', 'pear']
使用sort()方法按照某个元素属性排序:
class Student():
def __init__(self, name, score):
self.name = name
self.score = score
def __str__(self):
return self.name + ": " + str(self.score)
students = [
Student("Tom", 87),
Student("Jack", 76),
Student("Lucy", 92),
Student("Bob", 68),
Student("Amy", 88)
]
students.sort(key=lambda x: x.score)
for student in students:
print(student)
输出结果:
Bob: 68 Jack: 76 Tom: 87 Amy: 88 Lucy: 92
以上就是使用内置函数对列表排序的方法,在使用时我们需要根据自己的需求选择适合的方法进行排序,以便快速高效地完成数据处理。
