Lambda和sorted组合排序列表和字典
排序列表
# 实例1
# 根据列表里的字符串中有规律的数字进行排序。
lis = ["PCR 0: Core",
"PCR 9: NTFS Boot Block",
"PCR 2: Option ROM Code",
"PCR 10: Boot Manager",
"PCR 4: Master ",
"PCR 8: NTFS Boot Sector",
"PCR 11: BitLocker"]
print(sorted(lis, key=lambda x:int(x.split(':')[0][4:])))
['PCR 0: Core', 'PCR 2: Option ROM Code', 'PCR 4: Master ', 'PCR 8: NTFS Boot Sector', 'PCR 9: NTFS Boot Block', 'PCR 10: Boot Manager', 'PCR 11: BitLocker']
$这里有个点就是,数字的位数,有两位的,所以不能去[-1]
# 实例2
# sorted功能
tilst = [12, 23, 9, 1]
print(sorted(tilst))
[1,9,12,23]
# 实例3
# 以元素的第一个索引值去排序
lst1 = [[4,2,9],[1,5,6],[7,8,3]]
print(sorted(lst1, key=lambda k:k[0]))
[[1,5,6],[4,2,9],[7,8,3]]
# 以元素的第二个索引值去排序
lst2 = [[4,2,9],[1,5,6],[7,8,3]]
print(sorted(lst2, key=lambda k:k[1]))
[[4,2,9],[1,5,6],[7,8,3]]
字典排序
dic1 = {'q':1,'w':2,'e':3}
print(sorted(dic1, key=lambda k:k[0]))
['e', 'q', 'w']
dic2 = {'q':1,'w':4,'e':3}
print(sorted(dic2.items(), key=lambda K:K[1]))
[('q', 1), ('e', 3), ('w', 4)]
dic3 = {'q':1,'w':4,'e':3}
print(sorted(dic3.items(), key=lambda K:K[0]))
[('e', 3), ('q', 1), ('w', 4)]
dic4 = {'q':1,'w':4,'e':3}
print(sorted(dic4, key=lambda k:dic4[k]))
['q', 'e', 'w']
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能