2013-04-09 34 views
1

如果我有像這樣一本字典:如何修改字典中的值的列表?

d = {'USA' : [0,0,0], 'CAN' : [0,0,0]} 

如何更新此值的特定元素?

我的目標是更新它看起來像(例如)這樣的:

d = {'USA' : [0,1,0], 'CAN' : [1,0,0]} 

我想這樣

d['USA'] = d.get('USA')[1] + 1 

d['CAN'] = d.get('CAN')[0] + 1 

但這似乎並沒有工作。 有什麼建議嗎? 我希望這很清楚。

回答

4

您的字典中有列表,因此該表達式的d[key]部分返回一個列表。只要保持添加[..] indexings:

d['USA'][1] += 1 
d['CAN'][0] += 1 

你可以打破它與中介變量,如果這是更簡單:

sublist = d['USA'] 
sublist[1] += 1 
sublist = d['CAN'] 
sublist[0] += 1 
+0

非常感謝你,這是我需要的 – MrRaken 2013-04-09 17:32:19

0

d['USA'][1]=d['USA'][1]+1 
d['CAN'][0]=d['USA'][0]+1 

在你的榜樣,你是更換整個列表只有一個號碼。

1

最簡單的方法是隻說

d [ 'USA'] [1] + = 1

,將讓你更新的列表。

+0

哇,好的,謝謝!這比我做出來要容易得多。 – MrRaken 2013-04-09 17:30:54

+0

只要你看到發生了什麼,我們在字典'd'中查找關鍵美國,這是一個列表,然後我們將索引1的值遞增1.祝你在學習python的時候好運! – Bear 2013-04-10 06:16:41