从词典列表中的词典中删除键

时间:2019-08-13 09:01:04

标签: python list dictionary

我有一个由以下人员生成的词典列表:

    r=requests.get(url, headers={key:password})
    import_data_list.append(r.json())

我想从这些词典中删除第一个键。我知道我可以使用以下方法删除列表中的字典:

    del import_data_list[0]

但是如何从列表中的字典中删除键,而不是删除整个字典。

我尝试过类似的事情:

    del import_data_list[0["KEY"]]

显然它不起作用!

任何帮助,如果它有一个愚蠢的问题,将不胜感激。还在学习!

3 个答案:

答案 0 :(得分:1)

如果您想从这些词典中删除第一个键(您不知道它的名字,您只是知道它是第一个),建议您遍历清单。您可以使用list(d.keys())[0]甚至list(d)[0]来获取名为d的字典的第一把钥匙。
这是一个示例:

for d in import_data_list:
    k = list(d)[0]  # get the first key
    del d[k]        # delete it from the dictionary
print(import_data_list)

您还可以使用列表理解功能以单行样式进行操作,我也发现这很聪明。在这种情况下,您还可以检索列表中前几个键的值,这可能会有用:

r = [d.pop(list(d)[0]) for d in import_data_list]
print(import_data_list)

请注意,它仅适用于> = 3.6的python版本(但不适用于<= 3.5的版本,因为未排序字典)

答案 1 :(得分:1)

假设您有此词典列表。

myList = [
    {
        "Sub1List1" : "value",
        "Sub2List1" : "value",
        "Sub3List1" : "value",
        "Sub4List1" : "value"
    },
    {
        "Sub1List2" : "value",
        "Sub2List2" : "value",
        "Sub3List2" : "value",
        "Sub4List2" : "value"
    },
    {
        "Sub1List3" : "value",
        "Sub2List3" : "value",
        "Sub3List3" : "value",
        "Sub4List3" : "value"
    }
]

现在,如果要从第一个列表中删除密钥Sub1List1,可以使用:

del myList[0]["Sub1List1"]

答案 2 :(得分:0)

使用命令:

del dictionaryName[KEY]