0

我怎么能理解键和值不在字典中?如果可能的话,我会使用好像新值不在字典中一样添加它。示例

d = {1:"k", 2:"l"}

如果 3 不在列表中,则代码应该理解并将其作为具有空值的字典中的新项目

d = {1:"k", 2:"l", 3:"null"}
4

4 回答 4

7

您可以使用dict.setdefault

d.setdefault(3,"null")

演示:

>>> d = {1:"k", 2:"l"}
>>> d.setdefault(3,"null")    # if key is found then return the value else
                              # set the new key and return the new value  
'null'                     
>>> d
{1: 'k', 2: 'l', 3: 'null'}

帮助dict.setdefault:_

>>> dict.setdefault?
Type:       method_descriptor
String Form:<method 'setdefault' of 'dict' objects>
Namespace:  Python builtin
Docstring:  D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
于 2013-05-18T10:34:20.967 回答
2

在不使用默认字典/默认值的情况下,您可以通过以下方式实现:

if 3 not in d:
    d[3] = None # or "null"
于 2013-05-18T10:35:52.047 回答
2

使用in运算符。

>>> d = {1:"k", 2:"l"}
>>> 1 in d
True
>>> 2 in d
True
>>> 3 in d
False
>>> if not 3 in d:
...     d[3] = "null"
...
>>> d
{1: 'k', 2: 'l', 3: 'null'}
>>>
于 2013-05-18T10:38:52.997 回答
0

你应该明白这里有两个问题 1. 如何检查 key 是否存在于 hash 中 2. 如何检查 key 在 hash 中的值

1。

key in hash

a2。

hash[key]
于 2013-05-18T10:46:36.423 回答