簡體   English   中英

在python字典中刪除鍵及其在其他鍵的Value中的出現

[英]Deleting a Key and its occurrence in other key's Value in python dictionary

假設我有一本字典

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])}

我正在努力實現這一目標,但未能實現。

del myDict[item]
for key, value in myDict.items():
    if item in value:
        myDict[key] = value.difference(set([item]))

您可以使用類似這樣的東西。 首先從字典中刪除該item ,然后使用設置差異從值中刪除所有出現的item

一個簡單的,未經優化的單線去除value

{k : v - {value} for k, v in myDict.items() if k != value}

編輯:感謝@mata的符號{value} ,我總是忘記了!

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM