Quelle est la bonne façon d'ajouter la valeur d'un dictionnaire à un tableau de dictionnaires?

Dictionnaire original:

dict = {
            "myIPs": [
                    {"IP": "10.0.0.1/32"},
                    {"IP": "10.0.0.2/32"}
                 ]
       }

print dict['myIPs'] -> [{'IP': '10.0.0.1/32'}, {'IP': '10.0.0.2/32'}] 

En essayant:

dictarray = dict['myIPs']
dictarray = newdict.append({"IP": "10.0.0.3/32"})

print newdict -> None
2
Dmitry R 8 mars 2016 à 15:05

3 réponses

Meilleure réponse

Dans votre exemple, la manière normale serait:

dict['myIPs'].append( {'IP' : '10.0.0.3/32'} )

Vous pouvez accéder à l'objet tableau directement via la poignée dict et sa clé suivante appelée myIPs. Cela vous donnera un accès direct au tableau et à ses fonctions. Dans ce cas append().

C'est assez simple une fois que vous vous êtes habitué à travailler avec des dictionnaires.
Une façon de le regarder, est la façon dont vous imprimez le tableau en y accédant via print dict['myIPs'], de la même manière que vous le modifierez en y accédant avec dict['myIPs'].append(). J'espère que cela a du sens.

__builtins__ - Ne réutilisez pas les fonctions intégrées!

C'est un gros non-non de réutiliser les fonctions définies par le système / intégrées.
L'un d'eux se trouve être dict.

Veuillez donc envisager de changer le nom de votre variable en quelque chose de plus approprié.

system_info = {
            "myIPs": [
                    {"IP": "10.0.0.1/32"},
                    {"IP": "10.0.0.2/32"}
                 ]
       }

system_info['myIPs'].append( {'IP' : '10.0.0.3/32'} )
print(system_info['myIPs'])
5
Torxed 8 mars 2016 à 12:19
dict["myIPs"].append(item)

Devrait fonctionner pour votre situation.

PS: mieux vaut ne pas utiliser de noms comme "dict", cela peut être déroutant.

1
QShengyao 8 mars 2016 à 12:27

Vous pouvez simplement utiliser:

dict['myIPs'].append({"IP": "10.0.0.3/32"})
1
pltrdy 8 mars 2016 à 12:07