欢迎访问宙启技术站
智能推送

Python中如何使用函数排序列表?

发布时间:2023-06-25 20:54:56

在Python中,可以使用内置的函数来排序列表。这些函数包括sorted()和sort()。sorted()函数接受一个列表作为参数,并返回一个排序后的新列表,而sort()函数可以在原列表上进行排序。

sorted()函数的语法如下:

sorted(iterable, key=None, reverse=False)

其中,iterable是要排序的列表,key是一个可选的函数,用于从每个列表项中提取一个关键字,以便排序。reverse是一个可选参数,用于控制排序顺序。默认情况下,它是False,表示升序排序。如果将它设置为True,则排序顺序将是降序排序。

例如,下面的代码使用sorted()函数对一个列表进行升序排序:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_lst = sorted(lst)

print(sorted_lst)

该代码输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

如果要对列表进行降序排序,可以将reverse设置为True:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_lst = sorted(lst, reverse=True)

print(sorted_lst)

该代码输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

如果想根据列表中每个元素的某个属性进行排序,可以使用key参数指定一个函数来提取关键字。例如,下面的代码根据字符串长度对一个字符串列表进行排序:

lst = ['apple', 'banana', 'cherry', 'date', 'elderberry']

sorted_lst = sorted(lst, key=len)

print(sorted_lst)

该代码输出:['date', 'apple', 'banana', 'cherry', 'elderberry']

sort()函数的语法如下:

list.sort(key=None, reverse=False)

其中,list是要排序的列表,key和reverse参数的含义和sorted()函数相同。

例如,下面的代码使用sort()函数对一个列表进行升序排序:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort()

print(lst)

该代码输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

如果要对列表进行降序排序,可以将reverse设置为True:

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort(reverse=True)

print(lst)

该代码输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

如果想根据列表中每个元素的某个属性进行排序,可以使用key参数指定一个函数来提取关键字。例如,下面的代码根据字符串长度对一个字符串列表进行排序:

lst = ['apple', 'banana', 'cherry', 'date', 'elderberry']

lst.sort(key=len)

print(lst)

该代码输出:['date', 'apple', 'banana', 'cherry', 'elderberry']

总之,Python提供了灵活且易于使用的函数来排序列表。开发者可以根据自己的需求选择适合的函数来进行排序。