Python介绍 list.sort方法和内置函数sorted

1. Python的list.sort方法

list是Python中最常用的数据类型之一,它表示一个有序的、可变动的元素序列,在实际编程中,经常需要对list进行排序,而Python提供了list.sort方法来实现排序操作。

list.sort方法的语法如下:

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

1.1 参数说明

key:用于指定排序的依据,即按照什么规则进行排序,默认为None,表示按照元素的大小进行排序,如果指定了key参数,那么排序将按照key指定的规则进行,key可以是一个函数或者lambda表达式。

reverse:用于指定排序的顺序,即升序或者降序,默认为False,表示升序,如果需要降序排序,需要将该参数设置为True。

1.2 示例演示

下面我们来通过一个示例程序演示一下list.sort方法的使用:

fruits = ['apple', 'banana', 'orange', 'watermelon', 'kiwi']

fruits.sort()

print(fruits) # ['apple', 'banana', 'kiwi', 'orange', 'watermelon']

在上面的代码中,我们创建了一个列表fruits,通过调用sort方法对该列表进行升序排序(默认为升序),输出排序后的列表,可以看到排序结果为['apple', 'banana', 'kiwi', 'orange', 'watermelon']。

下面再来一个示例,演示如何按照元素的长度进行排序:

fruits = ['apple', 'banana', 'orange', 'watermelon', 'kiwi']

fruits.sort(key=len)

print(fruits) # ['kiwi', 'apple', 'banana', 'orange', 'watermelon']

在上面的代码中,我们通过将key参数设置为len函数,来按照元素的长度进行排序。

2. Python的sorted内置函数

除了list.sort方法外,Python还提供了一个内置函数sorted来对序列进行排序,与list.sort不同的是,sorted函数会返回一个新的有序列表,而不是修改原列表。

2.1 语法说明

sorted函数的语法如下:

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

iterable:需要排序的可迭代对象,例如列表、元组等。

key:用于指定排序的依据,即按照什么规则进行排序,默认为None,表示按照元素的大小进行排序,如果指定了key参数,那么排序将按照key指定的规则进行,key可以是一个函数或者lambda表达式。

reverse:用于指定排序的顺序,即升序或者降序,默认为False,表示升序,如果需要降序排序,需要将该参数设置为True。

2.2 示例演示

下面我们通过示例来演示一下sorted函数的使用:

fruits = ['apple', 'banana', 'orange', 'watermelon', 'kiwi']

sorted_fruits = sorted(fruits)

print(sorted_fruits) # ['apple', 'banana', 'kiwi', 'orange', 'watermelon']

在上面的代码中,我们创建了一个列表fruits,并通过调用sorted函数对该列表进行排序,返回一个新的有序列表sorted_fruits,输出排序结果,可以看到排序结果为['apple', 'banana', 'kiwi', 'orange', 'watermelon']。

下面再来一个示例,演示如何按照元素的长度进行排序:

fruits = ['apple', 'banana', 'orange', 'watermelon', 'kiwi']

sorted_fruits = sorted(fruits, key=len)

print(sorted_fruits) # ['kiwi', 'apple', 'banana', 'orange', 'watermelon']

在上面的代码中,我们通过将key参数设置为len函数,来按照元素的长度进行排序。

3. 总结

通过上述示例,我们可以发现,list.sort方法和sorted函数都是Python中常用的排序工具,list.sort方法适用于对原列表进行排序操作,可以直接修改原列表;sorted函数适用于对可迭代对象进行排序操作,返回一个新的有序列表,而不会修改原列表。在使用时可以根据实际需要来选择合适的排序工具。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签