如何将键值对添加到字典中?

如何将键值对添加到字典?下面我提到了以下格式?

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

将一个键值对添加到字典中

 aDict = {} aDict[key] = value 

你是什​​么意思dynamic添加。

我不确定“dynamic”是什么意思。 如果您的意思是在运行时将项目添加到字典中,它就像dictionary[key] = value一样简单。

如果你想创build一个字典的键,价值开始(编译时),然后使用(惊喜!)

 dictionary[key] = value 

我在这里寻找一种方法来添加一个键/值对作为一个组(在我的情况下,这是一个函数调用的输出,所以使用dictionary[key] = value添加对要求我知道密钥的名称。

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

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

如果你想在表格中添加一条新logging

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

messageName其中messageName的forms为X_somemessage可以,但不必在您的字典中,那么这样做:

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

这样它会被附加到一个现有的messageName或一个新的列表将被创build一个新的messageName

为了快速参考,以下所有方法都会添加一个新的关键字'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}) 

可能有一段时间,这也将是有益的

 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)