【发布时间】:2012-06-17 23:26:13
【问题描述】:
今天,我遇到了dict 方法get,它给定字典中的键,返回关联的值。
这个函数有什么用途?如果我想在字典中查找与某个键关联的值,我可以执行 dict[key],它会返回相同的内容:
dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
【问题讨论】:
-
@yosemite_k 我可能在这里遗漏了一些上下文,但
dictionary['non-existent key'] or None应该并且仍然为我提出了KeyError(直到 v3.6)。你能解释一下你的意思吗? -
dictionary.get("Age") not 与写 dictionary["Age"] 或 None 相同
-
想知道@yosemite_k 得到的所有支持:
dictionary["Age"] or None绝对与dictionary.get("Age")不同,因为前者提出了KeyError。他可能将此与dictionary.get("Age") or 18混淆,后者类似于dictionary.get("Age", 18):如果dictionary没有键"Age",则两个语句都返回默认值18,但前者在@987654335 时也会这样做@值计算为False。 -
@yosemite_k 这是不正确的。您混淆了检索到的值的真实性和
.get()在缺少键时使用后备值,即使它们是错误的。请用 +55 删除您的误导性评论(在撰写本文时)——如果您运行代码,您会发现它们根本不等效。dictionary["Age"] or None不会处理KeyError如果缺少"Age",它只会引发并且or None永远不会执行,这与dictionary.get("Age")不同。
标签: python dictionary