Python字典:竟还有我不会的高阶玩法?

本文介绍了Python中使用字典推导式生成字典的方法,展示了如何高效地处理key-value对,包括设置默认值、交换key-value、序列修改和集合运算的应用。此外,还分享了一份全面的Python学习资料,覆盖零基础到进阶,旨在帮助开发者提升技能。
摘要由CSDN通过智能技术生成

利用字典推导式快速生成字典。

{k: v for k, v in lst}

key的默认值

当指定key不存在时,将value设置为 0。

普通的写法

if key not in dct:

dct[key] = 0

pythonic的写法

dct[key] = dct.get(key, 0)

交换key与value

普通的写法

dic = {‘Python’: 1, ‘Java’: 2}

new_dic = {}

for k, v in dic.items():

new_dic[v] = k

更pythonic的写法

dic = {‘Python’: 1, ‘Java’: 2}

new_dic = {v: k for k, v in dic.items()}

序列修改和初始化

示例数据

lst = [(‘a’, 1), (‘b’, 2), (‘c’, 3)]

dic = {‘a’: [0]}

如果我们需要根据lst来更新dic中的数据,当key存在,则将value添加到原序列末尾,否则初始化value并用序列保存。

普通的写法

for key, value in lst:

if key in dic:

dic[key].append(value)

else:

dic[key] = [value]

更pythonic的写法

for (key, value) in lst:

group = dic.setde

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值