如何将键值对添加到字典中? [复制]

Posted

技术标签:

【中文标题】如何将键值对添加到字典中? [复制]【英文标题】:How to add key,value pair to dictionary? [duplicate] 【发布时间】:2011-04-16 03:10:10 【问题描述】:

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

'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】:

向字典中添加键、值对

aDict = 
aDict[key] = value

动态加法是什么意思。

【讨论】:

谢谢它的工作..我的意思是查询的结果集。你知道使用 python 有哪些问题吗?在我在 dotnet 工作之前,我不知道这项技术是新手。 @Krishnasamy:如果您之前曾在 dotnet 上工作过,那么使用 Python 会很愉快。它与 dotnet 和 java 一样多才多艺,甚至更多 如果我在 for 循环中使用它而不是它只给出最后一条记录.. 如何在循环中获取所有键值对【参考方案2】:

为了快速参考,以下所有方法都将添加一个新的键“a”,如果它不存在,或者它会使用提供的新值更新现有的键值对:

data['a']=1  

data.update('a':1)

data.update(dict(a=1))

data.update(a=1)

您也可以将它们混合在一起,例如,如果 key 'c' 在 data 中但 'd' 不在,则以下方法将更新 'c' 并添加 'd'

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

【讨论】:

为什么投反对票?答案是尝试添加有用的信息,以便观众可以有一个更全面的替代答案,恕我直言,否决投票的绅士/女士可以澄清一下吗? 你不需要回答这个问题,因为它是重复的 - 处理它的适当方法是将其标记为欺骗 - 在那里查看更多信息How should duplicate questions be handled? @Zhenhua 我发现这个答案很有用。 这个答案比其他答案更有帮助。 SO 真的需要想办法让事情变得更好。这被否决为重复。但这是用户搜索时出现的第一件事。否决票然后开始更多的对话,这导致这个答案的受欢迎程度进一步上升,从而隐藏了原来的答案。如果这个答案不存在,我永远不会找到原始答案。那么为什么不完全删除这个问题呢?【参考方案3】:

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

如果你想创建一个以键、值开头的字典(在编译时)然后使用(惊喜!)

dictionary[key] = value

【讨论】:

【参考方案4】:

我来这里是为了寻找一种将键/值对添加为组的方法 - 在我的情况下,它是函数调用的输出,因此使用 dictionary[key] = value 添加该对需要我知道键的名称。

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

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

【讨论】:

【参考方案5】:

这可能会有所帮助

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)

示例输出:

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

【讨论】:

【参考方案6】:

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

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

messageName,其中messageName 形式为X_somemessage 可以,但不必在您的字典中,然后这样做:

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

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

【讨论】:

您也可以从defaultdict(list)开始。【参考方案7】:

插入/追加到字典

"0": "travelkey":"value", "travelkey2":"value","1":"travelkey":"value","travelkey2":"value" 

travel_dict= #initialize dicitionary 
travel_key=0 #initialize counter

if travel_key not in travel_dict: #for avoiding keyerror 0
    travel_dict[travel_key] = 
travel_temp=val['key']:'no flexible'  
travel_dict[travel_key].update(travel_temp) # Updates if val['key'] exists, else adds val['key']
travel_key=travel_key+1

【讨论】:

以上是关于如何将键值对添加到字典中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将键值对添加到 Javascript 对象中

将键值对(来自数组的值)添加到数组中的特定对象

如何在运行时将键值对存储在应用程序设置中?

javascript 将键值对添加到JavaScript对象

在python中的字典上使用join()将键值对作为一个长字符串返回

将键值对数据批量加载到 HBASE