簡體   English   中英

如何在python中更新字典值?

[英]How to update a dictionary value in python?

可以說我有一本類似如下的字典:

dict1 = {band1Review: ["good rhythm", "cool performance"], band2Review: ["fast tempo", "too loud"]}
band1Review = ["Not good", "terrible"]
band3Review = ["best band ever"]

如果我知道我有這2條新評論,那么有什么方法可以操縱我現有的字典,使其看起來像以下內容?

dict1 = {band1Review: ["good rhythm", "cool performance", "Not good", "terrible"], band2Review: ["fast tempo", "too loud"], band3Review: ["best band ever"]}

我也想有效地做到這一點,而又不會造成冗長的循環,這可能會使我的程序變慢。 有什么建議么?

dict1 = {"band1": ["good rhythm", "cool performance"], "band2": ["fast tempo", "too loud"]}
band1Review = ["Not good", "terrible"]
band3Review = ["best band ever"]

dict1.setdefault("band1", []).extend(band1Review)
dict1.setdefault("band3Review", []).extend(band3Review)
print dict1

結果:

{'band1': ['good rhythm', 'cool performance', 'Not good', 'terrible'], 'band2': ['fast tempo', 'too loud'], 'band3Review': ['best band ever']}

存儲在字典中的列表是可變的,並且可以就地更新。 舉個例子,你可以追加單品與append

>>> container = {"a": [1, 2], "b": [4, 5]}
>>> container["a"]
[1, 2]
>>> container["a"].append(3)
>>> container["a"]
[1, 2, 3]

一切都很好。 您聲明要避免“繁瑣的”循環; 我不太清楚這意味着什么,但是您當然可以避免在list類型中使用extend方法循環執行:

>>> newb = [6, 7, 8]
>>> container["b"].extend(newb)
>>> container["b"]
[4, 5, 6, 7, 8]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM