Подтвердить что ты не робот

Как добавить ключ, значение пары в словарь?

Как добавить ключ, значение пары в словарь?. Ниже я упомянул следующий формат?

{'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']]}
4b9b3361

Ответ 1

Добавить ключ, значение пары в словарь

aDict = {}
aDict[key] = value

Что вы подразумеваете под динамическим добавлением.

Ответ 2

Я нашел здесь способ добавить пару ключей/значений в группу - в моем случае это был выход вызова функции, поэтому добавление пары с помощью dictionary[key] = value потребовало бы, чтобы я знал имя ключа (ов).

В этом случае вы можете использовать метод обновления: dictionary.update(function_that_returns_a_dict(*args, **kwargs)))

Остерегайтесь, если dictionary уже содержит один из ключей, исходное значение будет перезаписано.

Ответ 3

Для быстрой справки все следующие методы добавят новый ключ 'a', если он еще не существует, или обновит существующую пару значений ключа с новым предложенным значением:

data['a']=1  

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

data.update(dict(a=1))

data.update(a=1)

Вы также можете их смешать, например, если ключ "c" находится в данных, но "d" не указан, следующий метод обновит "c" и добавит "d"

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

Ответ 4

Я не уверен, что вы подразумеваете под "динамикой". Если вы имеете в виду добавление элементов в словарь во время выполнения, это так же просто, как dictionary[key] = value.

Если вы хотите создать словарь с ключом, значение для начала (во время компиляции), используйте (сюрприз!)

dictionary[key] = value

Ответ 5

Если вы хотите добавить новую запись в форму

newRecord = [4L, 1L, u'DDD', 1689544L, datetime.datetime(2010, 9, 21, 21, 45), u'jhhjjh']

to messageName где messageName в форме X_somemessage может, но не обязательно находиться в вашем словаре, а затем делать это следующим образом:

myDict.setdefault(messageName, []).append(newRecord)

Таким образом он будет добавлен к существующему messageName, или новый список будет создан для нового messageName.

Ответ 6

Может быть, это тоже будет полезно

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)