Python中的sorted函数:对列表、元组等可迭代对象进行排序。
sorted函数是Python内置的一个非常有用的函数,用于对可迭代对象进行排序。它可以对数字、字符串等可以比较大小的对象进行排序,也可以对自定义对象按照指定的规则进行排序。
sorted函数的语法如下:
sorted(iterable, *, key=None, reverse=False)
其中,iterable是需要排序的可迭代对象,比如列表、元组等;key是一个函数,用于指定排序的规则;reverse是一个布尔值,表示是否降序排序。
使用sorted函数,可以对列表进行排序。例如:
numbers = [5, 2, 8, 1, 9] sorted_numbers = sorted(numbers) print(sorted_numbers)
输出结果为:[1, 2, 5, 8, 9]。
可以看到,sorted函数对原列表进行了升序排列,并返回了一个新的排序后的列表。
除了对数字列表进行排序,sorted函数也可以对字符串列表进行排序。例如:
words = ["apple", "banana", "orange", "cherry"] sorted_words = sorted(words) print(sorted_words)
输出结果为:['apple', 'banana', 'cherry', 'orange']。
同样地,sorted函数对原列表进行了升序排列,并返回了一个新的排序后的列表。
在某些情况下,我们需要按照自己的规则进行排序。例如,我们可以按照字符串的长度进行排序。可以使用key参数来指定排序规则,例如:
words = ["apple", "banana", "orange", "cherry"] sorted_words = sorted(words, key=len) print(sorted_words)
输出结果为:['apple', 'cherry', 'banana', 'orange']。
可以看到,sorted函数按照字符串的长度进行了排序。
除此之外,sorted函数还可以用于对自定义对象进行排序。例如,我们可以定义一个Person类,然后按照年龄进行排序。代码如下:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person(name={self.name}, age={self.age})"
people = [Person("Alice", 25),
Person("Bob", 30),
Person("Charlie", 20)]
sorted_people = sorted(people, key=lambda person: person.age)
print(sorted_people)
输出结果为:[Person(name=Charlie, age=20), Person(name=Alice, age=25), Person(name=Bob, age=30)]。
可以看到,sorted函数按照年龄的大小进行了排序。
总的来说,sorted函数是Python内置的一个非常有用的函数,可以对列表、元组等可迭代对象进行排序。通过指定key参数,我们可以按照自己的规则进行排序。sorted函数还可以用于对自定义对象进行排序。在实际编程中,我们经常需要对数据进行排序,因此掌握sorted函数对我们的编程能力有很大的帮助。
