101 votes

Comment ajouter une paire clé-valeur à un dictionnaire ?

Comment ajouter une paire de clés et de valeurs à un dictionnaire ?

{'1_somemessage': [[3L,
                    1L,
                    u'AAA',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 22, 30),
                    u'gffggf'],
                   [3L,
                    1L,
                    u'BBB',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 20, 30),
                    u'ffgffgfg'],
                   [3L,
                    1L,
                    u'CCC',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 22, 30),
                    u'hjhjhjhj'],
                   [3L,
                    1L,
                    u'DDD',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 21, 45),
                    u'jhhjjh']],
 '2_somemessage': [[4L,
                    1L,
                    u'AAA',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 22, 30),
                    u'gffggf'],
                   [4L,
                    1L,
                    u'BBB',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 20, 30),
                    u'ffgffgfg'],
                   [4L,
                    1L,
                    u'CCC',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 22, 30),
                    u'hjhjhjhj'],
                   [4L,
                    1L,
                    u'DDD',
                    1689544L,
                    datetime.datetime(2010, 9, 21, 21, 45),
                    u'jhhjjh']]}

150voto

pyfunc Points 31088

Ajouter une paire clé-valeur au dictionnaire

aDict = {}
aDict[key] = value

Qu'entendez-vous par addition dynamique ?

71voto

Zhenhua Points 1659

Pour une référence rapide, toutes les méthodes suivantes ajouteront une nouvelle clé "a" si elle n'existe pas déjà ou mettront à jour la paire clé-valeur existante avec la nouvelle valeur proposée :

data['a']=1  

data.update({'a':1})

data.update(dict(a=1))

data.update(a=1)

Vous pouvez également les mélanger, par exemple, si la clé "c" figure dans les données mais pas la clé "d", la méthode suivante met à jour "c" et ajoute "d".

data.update({'c':3,'d':4})

7voto

Manoj Govindan Points 24030

Je ne suis pas sûr de ce que vous entendez par "dynamique". Si vous voulez dire ajouter des éléments à un dictionnaire au moment de l'exécution, il est aussi facile que dictionary[key] = value .

Si vous souhaitez créer un dictionnaire avec clé et valeur pour commencer (au moment de la compilation), utilisez (surprise !)

dictionary[key] = value

7voto

domoarigato Points 1120

Je suis arrivé ici en cherchant un moyen d'ajouter une ou plusieurs paires clé/valeur en tant que groupe - dans mon cas, il s'agissait de la sortie d'un appel de fonction, donc l'ajout de la paire à l'aide de la fonction dictionary[key] = value m'obligerait à connaître le nom de la ou des clés.

Dans ce cas, vous pouvez utiliser la méthode de mise à jour : dictionary.update(function_that_returns_a_dict(*args, **kwargs)))

Attention, si dictionary contient déjà l'une des clés, la valeur originale sera écrasée.

4voto

Abhilash Cherukat Points 154

Peut-être qu'un jour cela sera utile.

import collections
#Write you select statement here and other things to fetch the data.
 if rows:
            JArray = []
            for row in rows:

                JArray2 = collections.OrderedDict()
                JArray2["id"]= str(row['id'])
                JArray2["Name"]= row['catagoryname']
                JArray.append(JArray2)

            return json.dumps(JArray)

Exemple de sortie :

[
    {
        "id": 14
        "Name": "someName1"
    },
    {
        "id": 15
        "Name": "someName2"
    }
]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X