ce que vous faites avec le code affiché est d'abord attribuer la valeur ['blah']
à la clé 'foo'
, puis, à l'étape suivante, en affectant la valeur ['garble']
à la clé 'foo'
. Une clé ne peut être affectée qu'à une seule valeur (et par "valeur", nous entendons tout type, qu'il s'agisse d'un entier, d'une chaîne, d'une liste, d'un tuple, etc.), donc la deuxième assignation écrase la première. Ce que vous voulez, c'est que la touche 'foo'
soit affectée à la liste ["blah", "garble"]
. La liste est une valeur. Cela peut être fait en une seule étape comme ceci:
item['foo'] = ["blah", "garble"]
ou, si, pour une raison quelconque, vous voulez créer une valeur paire de clés où la valeur est une liste, puis ajouter un élément à cette liste plus tard, voici comment vous le faire:
item['foo'] = ['blah']
item['foo'].append('garble')
la première ligne assigne la liste ['blah']
à la 'foo'
clé. La deuxième ligne récupère la valeur attribuée à la clé 'foo'
du dictionnaire item
, lui applique la méthode de liste .append()
(qui ne fonctionnera que si la valeur récupérée du dictionnaire avec la clé 'foo'
est en fait une liste!), Puis ajoute à cette liste la chaîne 'garble'
. Le résultat est:
>>> item['foo']
['blah', 'garble']
Ne pas faire:
item['foo'].append(['garble'])
ou vous finirez avec le deuxième élément de cette liste une autre liste, comme ceci:
['blah', ['garble']]
garble est une liste mais qui imprime ensuite: 'foo: [ 'bla, [' garble ']]' –
Oui il l'a fait, merci! –