sort()函数进行集合排序?
sort()函数是Python中的内置函数,用于对列表进行排序操作。它可以对任意类型的元素进行排序,包括数字、字符串以及自定义对象。
sort()函数的基本用法是对列表进行原地排序,即在原列表的基础上进行排序,而不会返回一个新的排序后的列表。它的用法如下:
list.sort(key=None, reverse=False)
其中,key是一个可选参数,用于指定一个函数,该函数将被应用于列表中的每个元素,用于生成排序依据。reverse也是一个可选参数,用于指定是否按照逆序进行排序,默认为False,即按照升序排序。
sort()函数的排序规则是:首先根据key函数生成排序依据,然后根据生成的依据对列表进行排序。如果没有指定key函数,默认按照元素的大小进行排序。对于数字和字符串,sort()函数会按照一定的规则进行排序,对于自定义对象,可以通过定义__lt__()方法来指定排序规则。
下面是一些示例,展示了sort()函数的具体用法和效果。
1. 对数字列表进行排序:
nums = [5, 2, 9, 1, 6]
nums.sort()
print(nums) # 输出: [1, 2, 5, 6, 9]
2. 对字符串列表进行排序:
words = ['banana', 'apple', 'cherry', 'orange']
words.sort()
print(words) # 输出: ['apple', 'banana', 'cherry', 'orange']
3. 对自定义对象列表进行排序:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __lt__(self, other):
return self.age < other.age
people = [Person('Alice', 25), Person('Bob', 20), Person('Charlie', 30)]
people.sort(key=lambda person: person.age)
for person in people:
print(person.name) # 输出:Bob, Alice, Charlie
sort()函数是一个非常常用的排序函数,但需要注意的是,sort()函数是原地排序,即会改变列表本身的顺序。如果需要得到一个新的排序后的列表,可以使用sorted()函数。这两个函数的使用方法和效果类似,但sorted()函数返回排序后的列表,不会改变原列表的排序。
