栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在列表的开头和结尾强制执行项目

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在列表的开头和结尾强制执行项目

您可以使用

sorted
以下内容
key

sorted(l, key = lambda s: (s!='p', s=='q', s))['p', 'p', 'a', 'b', 'c', 'd', 'f', 'g', 'n', 't', 'z', 'q', 'q']

说明

为了更好地了解它是如何工作的,下面的列表理解旨在在进行比较之前复制从自

lambda
变量中定义的函数返回的内容
key

t = [(s!='p', s=='q', s) for s in pl]print(t)[(True, False, 'f'), (True, False, 'g'), (False, False, 'p'), (True, False, 'a'), (False, False, 'p'), (True, False, 'c'), (True, False, 'b'), (True, True, 'q'), (True, False, 'z'), (True, False, 'n'), (True, False, 'd'), (True, False, 't'), (True, True, 'q')]

然后,这将

key
用于对列表中的项目进行排序,如文档中所述:

key参数的值应该是一个采用单个参数并返回用于排序目的键的函数。

因此考虑到

False = 0
and
True = 1
,当对这个元组列表进行排序时,结果将是以下内容:

sorted(t)[(False, False, 'p'), (False, False, 'p'), (True, False, 'a'), (True, False, 'b'), (True, False, 'c'), (True, False, 'd'), (True, False, 'f'), (True, False, 'g'), (True, False, 'n'), (True, False, 't'), (True, False, 'z'), (True, True, 'q'), (True, True, 'q')]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号