Python Dictionary包含List作为值 - 如何更新?

时间:2010-12-24 17:06:49

标签: python list dictionary

我有一个有价值的字典。

dictionary = { 
               'C1' : [10,20,30] 
               'C2' : [20,30,40]
             }

假设我想将C1列表中的所有值递增10,我该怎么做?

dictionary.get('C1')为我提供了列表,但如何更新呢?

6 个答案:

答案 0 :(得分:32)

>>> dictionary = {'C1' : [10,20,30],'C2' : [20,30,40]}
>>> dictionary['C1'] = [x+1 for x in dictionary['C1']]
>>> dictionary
{'C2': [20, 30, 40], 'C1': [11, 21, 31]}

答案 1 :(得分:5)

访问的字典值(在这种情况下为列表)是原始值,与用于访问它的字典分开。无论是否在字典中,您都会以相同的方式递增列表中的值:

l = dictionary.get('C1')
for i in range(len(l)):
    l[i] += 10

答案 2 :(得分:3)

dictionary["C1"]=map(lambda x:x+10,dictionary["C1"]) 

应该这样做......

答案 3 :(得分:1)

可能是这样的:

original_list = dictionary.get('C1')
new_list = []
for item in original_list:
  new_list.append(item+10)
dictionary['C1'] = new_list

答案 4 :(得分:1)

为什么不完全跳过.get并做这样的事情?:

for x in range(len(dictionary["C1"]))
    dictionary["C1"][x] += 10

答案 5 :(得分:0)

for i,j in dictionary .items():
    if i=='C1':
        c=[]
        for k in j:
            j=k+10
            c.append(j)
            dictionary .update({i:c})