[英]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.