我想先测试字典中是否存在某个键,然后再更新该键的值。我写了以下代码:

if 'key1' in dict.keys():print "blah"
else:print "boo"

我认为这不是完成此任务的最佳方法。有没有更好的方法来测试字典中的键?

in是测试密钥是否存在的预期方法dict

d = {"key1": 10, "key2": 23}if "key1" in d:print("this will execute")if "nonexistent key" in d:print("this will not")

如果您想使用默认值,可以随时使用dict.get()

d = dict()for i in range(100):key = i % 10d[key] = d.get(key, 0) + 1

如果您想始终确保任何键的默认值,则可以dict.setdefault()重复使用,也可以defaultdictcollections模块中使用它,如下所示:

from collections import defaultdictd = defaultdict(int)for i in range(100):d[i % 10] += 1

但总的来说,in关键字是最好的方法。

本文首发于python黑洞网,csdn同步跟新

python检查字典中是否已存在给定键相关推荐

  1. 检查字典中是否已存在给定键

    我想在更新密钥值之前测试字典中是否存在密钥. 我写了以下代码: if 'key1' in dict.keys():print "blah" else:print "boo ...

  2. 判定是否在词典中 java_检查字典中是否已存在给定键

    回答(19) 2 years ago 有关接受答案的建议方法(10米循环)的速度执行的其他信息: 'key' in mydict 经过时间1.07秒 mydict.get('key') 经过时间1.8 ...

  3. python 获取 字典中的指定键_python中字典方法的详细教程

    上篇文章讲到了python字典的基础知识,今天继续python中哈希(字典的应用)方法的应用. 前章回顾: python字典的应用及案例分析 字典方法: dict.clear() 删出字典内所有的元素 ...

  4. Python学习笔记字典之检查字典中是否存在键或值

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  5. python update_python 字典中的Update()函数

    简介 Python 字典 update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中. 语法 d.update(e) 参数说明 将e中键-值对添加到字典d ...

  6. Python遍历字典中的键值对

    Python为字典类型提供了items()方法,items()方法会将字典里的所有的键与值一起返回. 例如,餐馆有一个菜单包含了菜名和价格信息.菜名和价格顾客都需要知道,可以通过遍历输出menu字典的 ...

  7. [python] 取出字典中值最大的2个元素(键-值)

    基本思想:先根据字典值的大小对字典进行排序,再遍历取出前2个元素. 1.字典排序. 可以利用内置sorted()函数按照值的顺序进行排序. #举例: >>>d = {'b':4,'a ...

  8. python取出字典中最大值_python 比较字典value的最大值的几种方法

    python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': ...

  9. python 删除字典中的键和值del()_从OrderedDict中删除键和值 - python

    我正在尝试从OrderedDict中删除键和值,但是当我使用时: dictionary.popitem(key) 即使提供了其他键,它也会删除最后一个键和值.如果使用字典,是否可以删除中间的键? 参考 ...

最新文章

  1. 2022-2028年中国农副产品行业市场供需规模及未来前景分析报告
  2. quartz java web_java web定时任务---quartz
  3. linux鉴于它没有文件拓展名,linux中的文件类型以及查看文件类型的方法
  4. ubuntu每次启动都出现检测到错误
  5. mysql hicharts_PHP怎么调用Mysql的数据给Highcharts
  6. python字典下标是什么_python列表、元组、字典
  7. spring整合activeMQ遇到异常:Error creating bean with name 'connectionFactory'
  8. ReactiveCocoa 更优雅的编程(信号探秘)
  9. 关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题...
  10. c语言条件运算符的作用,条件运算符的用法_C运算符的结合方向
  11. 【Kafka】kafka NotLeaderForPartitionException thisserver is not the leader for topic-partition
  12. 注册登录时本地图片验证码
  13. vivado ip xdc 和user xdc 编译顺序
  14. 电子邮件是html文件吗,如何在电子邮件正文中嵌入HTML文件
  15. mysql带参数游标_mysql游标的使用
  16. ae制作小球轨迹运动_教你如何用AE做出动画效果
  17. 攻击机靶机环境搭建——网络设置
  18. Win Server2016安装Glassfish4.1.2
  19. 用c语言求解一元二次方程(共轭根除外)
  20. windows10多桌面创建 切换 和分屏

热门文章

  1. 迷你计算机笔记本,迷你笔记本电脑我选择了它,性能不错还超轻便携
  2. 2021-06-01 深入分析锁升级流程的基础
  3. Nginx之location配置
  4. MapReduce 之shuffle过程
  5. (73)Verilog HDL系统函数和任务:$monitor
  6. (59)Verilog HDL测试激励:时钟激励1
  7. Vivado时序报告名词解释
  8. (8)verilog语言编写UART发送
  9. std::move()源码分析
  10. 12017.linux设置串口支持非标准波特率614400