当前位置:
首页 > temp > 简明python教程 >
-
Python 列表数据类型(list)[学习 Python 必备基础知识][看此一篇就够了](3)
方法。
6.2 使用
使用格式如下所示:
listname.sort(*, key=None, reverse=False)
对以上格式说明,
-
sort()
:sort()
方法会对列表进行原地排序,即修改原列表。 -
sort()
方法接受两个仅限以关键字形式传入的参数。 -
key
:指定带有一个参数的函数,用于从每个列表元素中提取比较键 (例如 key=str.lower)。 对应于列表中每一项的键会被计算一次,然后在整个排序过程中使用。 默认值None
表示直接对列表项排序而不计算一个单独的键值。 -
reverse
:reverse
为一个布尔值。默认为False
,表示升序排序。 如果设为True
,则每个列表元素将按反向顺序(降序)比较进行排序。
举例如下所示:
例一,
list_demo = [4, 1, 3, 2, 8, 5]
print('排序前 list_demo =', list_demo)
list_demo.sort() # 对列表进行升序排序操作
# list_demo.sort(reverse=False) # 升序排序操作也可以这么写
print('升序排序后 list_demo =', list_demo)
list_demo.sort(reverse=True) # 降序排序
print('降序排序后 list_demo =', list_demo)
运行结果:
排序前 list_demo = [4, 1, 3, 2, 8, 5]
升序排序后 list_demo = [1, 2, 3, 4, 5, 8]
降序排序后 list_demo = [8, 5, 4, 3, 2, 1]
例二,
# 为 key 参数准备调度函数
def take_second(element):
return element[1]
list_demo = [(1, 3), (3, 5), (2, 4), (5, 1)]
print('排序前 list_demo =', list_demo)
list_demo.sort() # 升序排序。元组作为列表的元素,排序是以元组的第一个元素进行比较。
print('元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo =', list_demo)
list_demo.sort(key=take_second) # 升序排序。元组作为列表的元素,排序是以元组的第二个元素进行比较。
print('元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo =', list_demo)
运行结果:
排序前 list_demo = [(1, 3), (3, 5), (2, 4), (5, 1)]
元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo = [(1, 3), (2, 4), (3, 5), (5, 1)]
元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo = [(5, 1), (1, 3), (2, 4), (3, 5)]
6.2 使用 sorted()
内置函数排序
从一个可迭代对象构建一个新的排序列表,要使用sorted()
内置函数。
使用格式如下所示:
sorted(iterable, * ,key=None, reverse=False)
对以上格式说明,
-
返回值:
sorted()
内置函数会根据iterable
中的项返回一个新的已排序列表。 - 具有两个可选参数,它们都必须指定为关键字参数。
-
key
: 指定带有单个参数的函数,用于从iterable
的每个元素中提取用于比较的键 (例如key=str.lower
)。 默认值为None
(直接比较元素)。 -
reverse
:为一个布尔值。默认为False
,表示升序排序。 如果设为True
,则每个列表元素将按反向顺序(降序)比较进行排序。
举例如下所示:
# 为 key 参数准备调度函数
def take_second(element):
return element[1]
list_demo = [(1, 3), (3, 5), (2, 4), (5, 1)]
print('排序前 list_demo =', list_demo)
new_list1 = sorted(list_demo, key=None) # 升序排序。元组作为列表的元素,排序是以元组的第一个元素进行比较。
print('元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo =', new_list1)
new_list2 = sorted(list_demo, key=take_second) # 升序排序。元组作为列表的元素,排序是以元组的第二个元素进行比较。
print('元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo =', new_list2)
运行结果:
排序前 list_demo = [(1, 3), (3, 5), (2, 4), (5, 1)]
元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo = [(1, 3), (2, 4), (3, 5), (5, 1)]
元组作为列表的元素,排序是以元组的第一个元素进行比较 list_demo = [(5, 1), (1, 3), (2, 4), (3, 5)]
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数