J'ai un dictionnaire qui a une valeur de liste.
dictionary = {
'C1' : [10,20,30]
'C2' : [20,30,40]
}
Disons que je veux incrémenter toutes les valeurs de la liste de C1 de 10, comment faire?
dictionary.get('C1')
me donne la liste mais comment la mettre à jour?
>>> 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]}
Une valeur de dictionnaire accédée (une liste dans ce cas) est la valeur d'origine, distincte du dictionnaire qui est utilisé pour y accéder. Vous incrémenteriez les valeurs de 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
dictionary["C1"]=map(lambda x:x+10,dictionary["C1"])
Devrait le faire ...
Probablement quelque chose comme ça:
original_list = dictionary.get('C1')
new_list = []
for item in original_list:
new_list.append(item+10)
dictionary['C1'] = new_list
pourquoi ne pas simplement ignorer .get et faire quelque chose comme ça?:
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})