2 回答

TA貢獻1872條經驗 獲得超4個贊
使用.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}
添加回答
舉報