我有一个字典dict2,我想对其进行遍历并删除idlist中包含某些ID号的所有条目。 dict2[x]是列表的列表(请参见下面的示例dict2)。这是我到目前为止编写的代码,但是并没有删除entry[1]中的ID(idlist)的所有实例。有什么帮助吗?

dict2 = {G1:[[A, '123456', C, D], [A, '654321', C, D], [A, '456123', C, D], [A, '321654', C, D]]}

idlist = ['123456','456123','321654']
for x in dict2.keys():
    for entry in dict2[x]:
        if entry[1] in idlist:
            dict2[x].remove(entry)
        if dict2[x] == []:
            del dict2[x]
dict2应该最终看起来像这样:
dict2 = {G1:[[A, '654321', C, D]]}

最佳答案

尝试更清洁的版本?

for k in dict2.keys():
    dict2[k] = [x for x in dict2[k] if x[1] not in idlist]
    if not dict2[k]:
        del dict2[k]

关于python - Python字典迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6332691/

10-12 19:49