当某个项的某个键存在于列表中时,从字典中删除该项



我有一个字典如下:

A = {(1, 1, 1): 2, (1, 2, 1): 1, (3, 3, 2): 1, (1, 4, 2): 1, (2, 5, 2): 3}

让我们假设列表B如下:

B = [1 4]

现在,我想删除dict A中的那些项目,即它们的第二个关键元素存在于列表中。如果我想基于列表B对dict A做同样的事情,结果如下:

C = {(1, 2, 1): 1, (3, 3, 2): 1, (2, 5, 2): 3}

听起来,如果构成键的元组的中间元素在列表B中,那么您要做的就是从字典中删除项。或者,相反地,在B中保留键的中间元素为而不是的项。

你可以这样做:

A = {k: v for k, v in A.items() if k[1] not in B}

最新更新