简体   繁体   中英

Python Dictionary contains List as Value - How to update?

I have a dictionary which has value as a list.

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

Let's say I want to increment all the values in list of C1 by 10, how do I do it?

dictionary.get('C1') gives me the list but how do i update it?

>>> 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]}

An accessed dictionary value (a list in this case) is the original value, separate from the dictionary which is used to access it. You would increment the values in the list the same way whether it's in a dictionary or not:

l = dictionary.get('C1')
for i in range(len(l)):
    l[i] += 10
dictionary["C1"]=map(lambda x:x+10,dictionary["C1"]) 

应该这样做......

why not just skip .get altogether and do something like this?:

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

Probably something like this:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM