假设我有一本字典
myDict={0: set([1]),1: set([0, 2]),2: set([1, 3]),3: set([2])}
我希望从字典中删除1,这意味着键“1”,并且其他键的值集合中每次出现1次。例如,删除1会使字典看起来像
myDict={0: set([]),2: set([ 3]),3: set([2])}
我正在努力实现这一目标但却无法做到。谢谢提前
答案 0 :(得分:2)
del myDict[item]
for key, value in myDict.items():
if item in value:
myDict[key] = value.difference(set([item]))
你可以使用这样的东西。首先从字典中删除item
,然后使用set difference从值中删除它的所有出现。
答案 1 :(得分:2)
要删除value
的简单未优化单行注册:
{k : v - {value} for k, v in myDict.items() if k != value}
编辑:感谢@mata表示符号{value}
,我总是忘记它!
答案 2 :(得分:1)
val = 1
if val in myDict:
del myDict[val]
for key in myDict.keys():
if isinstance( myDict[key], set) and val in myDict[key]:
myDict[key].remove(val)