Le dictionnaire Python contient la liste comme valeur-Comment mettre à jour?

J'ai un dictionnaire qui a une valeur en tant que liste.

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

Disons que je veux incrémenter toutes les valeurs dans la liste de C1 par 10, Comment puis-je le faire?

dictionary.get('C1') me donne la liste mais comment puis-je la mettre à jour?

28
demandé sur Deepak 2010-12-24 20:06:49

5 réponses

>>> 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]}
31
répondu Paolo Bergantino 2010-12-24 17:11:55

Une valeur de dictionnaire accessible (une liste dans ce cas) est la valeur d'origine, distincte du dictionnaire qui est utilisé pour y accéder. Vous incrémentirez les valeurs dans la liste de la même manière, que ce soit dans un dictionnaire ou non:

l = dictionary.get('C1')
for i in range(len(l)):
    l[i] += 10
5
répondu Gabe 2016-04-15 18:35:54
dictionary["C1"]=map(lambda x:x+10,dictionary["C1"]) 

Devrait le faire...

3
répondu Utku Zihnioglu 2010-12-24 17:09:49

Probablement quelque chose comme ceci:

original_list = dictionary.get('C1')
new_list = []
for item in original_list:
  new_list.append(item+10)
dictionary['C1'] = new_list
1
répondu girasquid 2010-12-24 17:09:06

Pourquoi ne pas simplement sauter .obtenir tout à fait et faire quelque chose comme ça?:

for x in range(len(dictionary["C1"]))
    dictionary["C1"][x] += 10
1
répondu user5261053 2016-07-01 16:42:52