如何向现有词典中添加关键字?它没有.add()方法。


当前回答

dico[“new key”]=“value”

其他回答

还有一个名字奇怪,行为怪异,但仍然很方便的dict.setdefault()。

This

value = my_dict.setdefault(key, default)

基本上就是这样:

try:
    value = my_dict[key]
except KeyError: # key not found
    value = my_dict[key] = default

例如。,

>>> mydict = {'a':1, 'b':2, 'c':3}
>>> mydict.setdefault('d', 4)
4 # returns new value at mydict['d']
>>> print(mydict)
{'a':1, 'b':2, 'c':3, 'd':4} # a new key/value pair was indeed added
# but see what happens when trying it on an existing key...
>>> mydict.setdefault('a', 111)
1 # old value was returned
>>> print(mydict)
{'a':1, 'b':2, 'c':3, 'd':4} # existing key was ignored

首先检查密钥是否已存在:

a={1:2,3:4}
a.get(1)
2
a.get(5)
None

然后可以添加新的键和值。

这个问题已经得到了令人恶心的回答,但自从我议论获得了很大的牵引力,以下是答案:

添加新密钥而不更新现有字典

如果您在这里试图找出如何添加键并返回新字典(而不修改现有字典),可以使用以下技术来完成

Python>=3.5

new_dict = {**mydict, 'new_key': new_val}

Python<3.5

new_dict = dict(mydict, new_key=new_val)

注意,使用这种方法,您的密钥需要遵循Python中有效标识符名称的规则。

通过为字典中的键指定值,可以在字典中创建新的键/值对

d = {'key': 'value'}
print(d)  # {'key': 'value'}

d['mynewkey'] = 'mynewvalue'

print(d)  # {'key': 'value', 'mynewkey': 'mynewvalue'}

如果键不存在,则添加该键并指向该值。如果它存在,它所指向的当前值将被覆盖。

要同时添加多个键,请使用dict.update():

>>> x = {1:2}
>>> print(x)
{1: 2}

>>> d = {3:4, 5:6, 7:8}
>>> x.update(d)
>>> print(x)
{1: 2, 3: 4, 5: 6, 7: 8}

对于添加单个密钥,接受的答案具有较少的计算开销。