我有一个由以下人员生成的词典列表:
r=requests.get(url, headers={key:password})
import_data_list.append(r.json())
我想从这些词典中删除第一个键。我知道我可以使用以下方法删除列表中的字典:
del import_data_list[0]
但是如何从列表中的字典中删除键,而不是删除整个字典。
我尝试过类似的事情:
del import_data_list[0["KEY"]]
显然它不起作用!
任何帮助,如果它有一个愚蠢的问题,将不胜感激。还在学习!
答案 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]