python字典操作有哪些
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍"python字典操作有哪些",在日常操作中,相信很多人在python字典操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python字典操作有
千家信息网最后更新 2025年01月24日python字典操作有哪些
这篇文章主要介绍"python字典操作有哪些",在日常操作中,相信很多人在python字典操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python字典操作有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
key是否存在
使用 in
关键字判断key是否存在字典中
d = {"name": "zhang", "age":10}
key = "gender"
if key in d:
pass
不要使用 key in d.keys()
, 这是一种画蛇添足的操作,因为d.keys()会返回一个新的列表对象,导致内存最大。
合并字典
>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 3, 'c': 4}
>>> {**x, **y}
{'a': 1, 'b': 3, 'c': 4}
返回新的字典对象,x和y都不会改变,这是使用了PEP448范化解包操作, 如果 x 和 y 有相同的key, 那么y会覆盖x。 如果使用字典的update
方法,将修改原来的对象,例如:
>>> y.update(x)
>>> y
{'b': 2, 'c': 4, 'a': 1}
迭代字典
z = {'b': 2, 'c': 4, 'a': 1}
>>> for key, value in z.items():
print(key, value)
b 2
c 4
a 1
也可以直接对字典z进行迭代,每次迭代返回的是key,前面那种操作 z.items()会返回一个新的对象。
>>> for key in z:
print(key, z[key])
b 2
c 4
a 1
字典推导
使用字典推导式快速构建字典对象
>>> fruits = ['apple', 'mango', 'banana','cherry']
>>> {f:len(f) for f in fruits}
{'apple': 5, 'mango': 5, 'banana': 6, 'cherry': 6}
字典排序
字典本质上是个无序的容器对象(其实Python3.6开始支持有序,不过这个有序是指按照key的添加顺序),如果我们要对字典的 key 或者 value 排序,一般是将其转换为list,再按照key或者value排序。
>>> d = {"c": 3, "a": 1, "f":6, "b": 0}
# 按照value排序
>>> sorted(d.items(), key=operator.itemgetter(1))
[('b', 0), ('a', 1), ('c', 3), ('f', 6)]
# 按照key排序
>>> sorted(d.items(), key=operator.itemgetter(0))
[('a', 1), ('b', 0), ('c', 3), ('f', 6)]
>>>
默认值初始化字典
统计列表中每个字母出现的次数
>>> chars = ['a', 'b','c','a','d','c']
>>> data = {}
>>> for c in chars:
... if c in data:
... data[c]+=1
... else:
... data[c] = 0
...
>>> data
{'a': 1, 'b': 0, 'c': 1, 'd': 0}
可以使用 collections.defaultdict 通过工厂函数提供初始化默认值
chars = ['a', 'b','c','a','d','c']
dd = defaultdict(int)
for c in chars:
dd[c] += 1
>>>defaultdict(, {'a': 2, 'b': 1, 'c': 2, 'd': 1})
defaultdict 是 dict 的子类,继承了 dict 的所有特性, 如果想要初始值为1 怎么办? 可以用lambda函数来指定
dd = defaultdict(lambda: 1)
for c in chars:
dd[c] += 1
print(dd)
>>> defaultdict( at 0x01226B28>, {'a': 3, 'b': 2, 'c': 3, 'd': 2})
到此,关于"python字典操作有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
字典
对象
排序
学习
迭代
有序
函数
方法
更多
这是
帮助
实用
最大
相同
画蛇添足
接下来
关键
关键字
内存
子类
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业网络安全员工资
研究5G网络安全的结果
网络安全为人民手抄报8k纸
传感器 软件开发
服务器在哪里做网络映射
软件开发级别t1
安全狗服务器状态
关于网络安全的作文350
泉州插件 软件开发
如何清除微信服务器记录
学软件开发天天加班
把网络安全工作纳入
软件开发测试覆盖度
金融数据库
适合网络安全的配音
联想服务器电脑
手游软件开发資料
数据库工程师培训价格
我的世界1.17服务器如何开
360首都网络安全日
网络技术的两空格的间隔
企业网络安全员工资
软件开发是it公司吗
县住建局网络安全管理制度
万德数据库怎么用
最新网络安全公司排名
徐汇区手机软件开发管理
阿里云怎么配置主备服务器
安桌软件开发工具
临夏网络安全大队电话