开发者

Python Dictionary contains List as Value - How to update?

开发者 https://www.devze.com 2023-02-01 06:29 出处:网络
I have a dictionary which has value as a list. dictionary = { \'C1\' : [10,20,30] \'C2\' : [20,30,40] }

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开发者_如何学Python 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"]) 

Should do it...


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


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

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


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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号