2 回答
TA贡献1872条经验 获得超3个赞
使用.update只有一个单一的关键变化将是显著效率较低。
我台式机上的简单基准
$ python -m timeit -s 'd={}' 'd.update({"x":3})'
1000000 loops, best of 3: 0.263 usec per loop
$ python -m timeit -s 'd={}' 'd["x"]=3'
10000000 loops, best of 3: 0.0409 usec per loop
这是因为用来更新密钥.update,它需要创建一个新的字典,然后遍历字典中的所有密钥(即使只有一个)。另外,Python中的函数调用总是会产生开销。
TA贡献1856条经验 获得超11个赞
在您的情况下,不建议使用set item语法。
但是,如果您有多个对要添加到字典中,那么更新就在这里:
d = {'a':1, 'b':2}
new_pairs = {'c':3, 'd':4}
d.update(new_pairs)
print(d) # d = {'a':1, 'b':2, 'c':3, 'd':4}
这还会将d和new_pairs中的键值(更改为的值)更改为new_pairs[k]:
d = {'a':1, 'b':"before"}
new_pairs = {'b':"after", 'c':3, 'd':4}
d.update(new_pairs)
print(d) # {'a': 1, 'b': 'after', 'c': 3, 'd': 4}
添加回答
举报