关于python:如何向字典添加键、值对?

How to add key,value pair to dictionary?

本问题已经有最佳答案,请猛点这里访问。

如何在字典中添加键、值对?.下面我提到了以下格式?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{'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']]}

在字典中添加键、值对

1
2
aDict = {}
aDict[key] = value

你所说的动态加法是什么意思?


为了便于快速参考,如果新密钥"a"不存在,则以下所有方法都将添加一个新密钥"a",或者使用提供的新值更新现有的密钥-值对:

1
2
3
4
5
6
7
data['a']=1  

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

data.update(dict(a=1))

data.update(a=1)

您也可以将它们混合在一起,例如,如果键"c"在数据中而"d"不在,则以下方法将更新"c"并添加"d"

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


我在这里想办法添加一个键/值对作为一个组-在我的例子中,它是一个函数调用的输出,所以使用dictionary[key] = value添加对需要我知道键的名称。

在这种情况下,可以使用更新方法:dictionary.update(function_that_returns_a_dict(*args, **kwargs)))

注意,如果dictionary已经包含其中一个键,则原始值将被覆盖。


我不知道你所说的"动态"是什么意思。如果您的意思是在运行时向字典添加项,那么它和dictionary[key] = value一样简单。

如果您希望创建一个带有键、值的字典(在编译时)然后使用(惊喜!)

1
dictionary[key] = value

如果要在表单中添加新记录

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

对于messageName,如果messageName的形式是X_somemessage可以,但不必出现在字典中,那么就这样做:

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

这样,它将被附加到现有的messageName中,或者为新的messageName创建新的列表。


可能会有一段时间这也会有帮助

1
2
3
4
5
6
7
8
9
10
11
12
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)

实例输出:

1
2
3
4
5
6
7
8
9
10
[
    {
       "id": 14
       "Name":"someName1"
    },
    {
       "id": 15
       "Name":"someName2"
    }
]


插入/附加到词典

[cc lang="python"]"0":"travelkey":"value","travelkey2":"value