Python 处理键映射值操作

本文介绍了Python collections模块在处理键值映射时的常用方法,包括defaultdict和Counter。defaultdict允许在键不存在时自动设置默认值,减少了KeyError的发生;Counter则是用于统计列表中元素出现次数的高效工具。通过对这些高级数据结构的理解和使用,可以提升代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一个学完Python基础知识的测试,暗喜终于可以像RD们自己写脚本处理任何场景吧,如何优雅地写出来代码,接下来开启进阶版的Python。

本期浅谈一下,collection模块关于键值常用的方法,跟着我一起涨知识吧~

1. 问题背景

在LeetCode刷题时候,经常会创建哈希表来辅助存储数据操作,一说哈希表,小白的我一马无脑就打出了一行tmp = {}。如果在高级点的可以写成 tmp = dict()

直到有一天,遇到1个key存在多个value的问题。那要创建一个value是列表类型的字典,怎么创建呐?(基础太差,知道一对一的)。思考许久删了写写了删,终于使用for循环判断,搞定字典存储key-多个value的值,代码如下:

tmp = {} 
students = ["C","A","B","C","D","A","A"] 
for index,st in enumerate(students): 
    if st not in tmp: 
    tmp[st] = [] 
    tmp[st].append(index) 
### 
{'C': [0, 3], 'A': [1, 5, 6], 'B': [2], 'D': [4]} 
### 
复制代码

饭后找大佬show code,可想而知被大佬的神通广大的见识,直呼涨知识了!。

在 Python内置库中,其实是有一个collection模块提供defau

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值