首页 > Python > 更新键的值之前测试字典中是否存在键

更新键的值之前测试字典中是否存在键

上一篇 下一篇

我想在更新键的值之前测试字典中是否存在键。检查字典中是否已存在给定键

我写了以下代码:

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

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

分割线

网友回答:

直接使用代替 :key in my_dictkey in my_dict.keys()

if 'key1' in my_dict:
    print("blah")
else:
    print("boo")

这将快得多,因为它使用字典的O(1)哈希,而不是对键列表进行O(n)线性搜索。

分割线

网友回答:

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 = {}

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

若要为每个键提供默认值,请在每个分配上使用:dict.setdefault()

d = {}

for i in range(10):
    d[i] = d.setdefault(i, 0) + 1

或从模块使用:defaultdictcollections

from collections import defaultdict

d = defaultdict(int)

for i in range(10):
    d[i] += 1

分割线

网友回答:

您可以使用 in 关键字测试字典中是否存在键:

d = {'a': 1, 'b': 2}
'a' in d # <== evaluates to True
'c' in d # <== evaluates to False

在改变键之前检查字典中是否存在键的常见用途是默认初始化值(例如,如果您的值是列表,并且您希望确保在插入键的第一个值时可以附加一个空列表)。在这种情况下,您可能会找到感兴趣的类型。collections.defaultdict()

在较旧的代码中,您可能还会发现 的一些用法,这是一种不推荐使用的方法,用于检查字典中是否存在键(只需使用 ,即可)。has_key()key_name in dict_name

模板简介:该模板名称为【更新键的值之前测试字典中是否存在键】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 180次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-14
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信公众平台 微信文章 html5 自适应 微信模板 微信素材 响应式 企业网站 微信图片 单页式简历模板
您可能会喜欢的其他模板