2015-01-26 42 views
0
my_dicts = [ 
{ 'key1' : '1', 'key2' : '5' }, 
{ 'key1' : '2', 'key2' : '10' }, 
{ 'key1' : '3', 'key2' : '15' }] 

什麼將取代編輯在詞典列表的價值

{ 'key1' : '2', 'key2' : '10' }

{ 'key1' : '2', 'key2' : '30' }

+0

「最有效的方式」 - 由誰也解決不了簡單的任務初學者使用廣受歡迎的短語。我根本不明白這些人來自哪裏,他們爲什麼癡迷於他們不需要的效率。 – 2015-01-26 19:50:29

回答

2

使用enumerate最有效的方法:

>>> for i,j in enumerate(my_dicts) : 
... if j== { 'key1' : '2', 'key2' : '10' }: 
...  my_dicts[i]= {'key1' : '2', 'key2' : '30' } 
... 
>>> my_dicts 
[{'key2': '5', 'key1': '1'}, {'key2': '30', 'key1': '2'}, {'key2': '15', 'key1': '3'}] 
0

您創建可用於更新列表清單的索引:

my_dicts[1] = { 'key1' : '2', 'key2' : '30' } 

print my_dicts 

產量:

[{'key2': '5', 'key1': '1'}, {'key2': '30', 'key1': '2'}, {'key2': '15', 'key1': '3'}] 

如果您需要以編程方式做到這一點,你必須找到索引來更新,但就效率而言,就是這樣。

0

它沒有說你兩肋插刀要循環的話,這樣的:

my_dicts[1]['keys2'] = 30;