我有一个字典,每个键有多个值,每个值有两个元素(可能更多)。我想迭代每个键的每个值对,并删除符合某些条件的值对。例如,我想删除密钥A的第二个值对;那是:('Ok!', '0')
:
myDict = {'A': [('Yes!', '8'), ('Ok!', '0')], 'B': [('No!', '2')]}
为:
myDict = {'A': [('Yes!', '8')], 'B': [('No!', '2')]}
我可以按键或值迭代字典,但无法弄清楚如何删除特定值。
答案 0 :(得分:3)
这样的代码:
myDict = {'A': [('Yes!', '8'), ('Ok!', '0')], 'B': [('No!', '2')]}
for v in myDict.values():
if ('Ok!', '0') in v:
v.remove(('Ok!', '0'))
print(myDict)
答案 1 :(得分:0)
您也可以这样:
myDict = {'A': [('Yes!', '8'), ('Ok!', '0')], 'B': [('No!', '2')]}
del myDict['A'][1]
print(myDict)
说明:
myDict ['A']-它将获取带有密钥A的值
myDict ['A'] [1]-它将获取第一个索引元组
del myDict ['A'] [1]-现在,这将删除该元组
答案 2 :(得分:-3)
myDict = {'A': [('Yes!', '8'), ('Ok!', '0')], 'B': [('No!', '2')]}
for v in myDict.values():
for x in v:
if x[0] == 'Ok!' and x[1] == '0':
v.remove(x)
print(myDic)