目录
sort()函数
sorted()函数
key参数
区别
sort()
方法:该方法用于原地对列表进行排序,即直接在原始列表上进行排序操作,并不返回一个新的列表。
my_list = [3, 1, 4, 2, 5]
my_list.sort()
print(my_list) # 输出: [1, 2, 3, 4, 5]
sorted()
函数:该函数对可迭代对象进行排序,并返回一个新的已排序的列表。原始列表不会被修改。
my_list = [3, 1, 4, 2, 5]
new_list = sorted(my_list)
print(new_list) # 输出: [1, 2, 3, 4, 5]
对字符串进行排序时,返回列表:
s="oplk"
p=sorted(s)
print(p)
#输出:['k', 'l', 'o', 'p']
在sorted()
函数中,key
参数用于指定一个函数来用作排序的关键字。这个函数将被应用于可迭代对象中的每个元素,并根据函数返回值进行排序。
key
参数接受一个函数作为参数,该函数接受一个元素作为输入,并返回一个值。sorted()
函数将使用这个返回值来确定元素的排序顺序。
my_list = [5, -3, 2, -1, 4]
new_list = sorted(my_list, key=abs)
print(new_list) # 输出: [-1, 2, -3, 4, 5]
my_list = ['apple', 'banana', 'cherry', 'date']
new_list = sorted(my_list, key=len)
print(new_list) # 输出: ['date', 'apple', 'cherry', 'banana']
def sort_by_last_character(string):
return string[-1]
my_list = ['apple', 'banana', 'cherry', 'date']
new_list = sorted(my_list, key=sort_by_last_character)
print(new_list) # 输出:['banana', 'apple', 'date', 'cherry']
这里我们定义了一个名为sort_by_last_character
的函数,它返回字符串的最后一个字符。然后,我们将这个函数传递给key
参数来进行排序。
sort()
方法是对可变的列表对象进行操作,而sorted()
函数可以用于任何可迭代的对象。sort()
方法在原地进行排序,会修改原列表;sorted()
函数返回一个新的已排序的列表,不改变原列表。sorted()
函数并将结果赋值给一个新的变量;如果不需要保留原列表或需要在原列表上进行操作,可以使用sort()
方法。sort()
方法没有返回值,而sorted()
函数会返回一个新的已排序的列表,可以将其赋值给一个变量以进行后续操作。sort()
方法和sorted()
函数都支持传递一些可选参数,例如key
用于指定一个函数来用作排序的关键字,reverse
用于指定排序顺序是否为降序等。