所以我有一本字典,它看起來像以下:的Python從字典中刪除一個鍵與多個鍵
dictionary={('a','b'):1,('c','d'):2}
正如你可以看到有一個值的多個鍵。我想要做的是基本上刪除(刪除)其中一個鍵。例如,我想說的是,所有的值將不需要的第一個鍵了,並轉換上述字典以下:
dictionary={'b':1,'d':2}
什麼是這樣做的最安全的方法?
感謝
所以我有一本字典,它看起來像以下:的Python從字典中刪除一個鍵與多個鍵
dictionary={('a','b'):1,('c','d'):2}
正如你可以看到有一個值的多個鍵。我想要做的是基本上刪除(刪除)其中一個鍵。例如,我想說的是,所有的值將不需要的第一個鍵了,並轉換上述字典以下:
dictionary={'b':1,'d':2}
什麼是這樣做的最安全的方法?
感謝
您可以使用字典解析下降在每個元組的第一項:
dictionary = {k: v for (_, k), v in dictionary.items()}
我不喜歡假設鍵的結構。爲了使絕對防彈
from collections import Iterable
d = {
k[-1] if isinstance(k, Iterable) else k: v
for k, v in dictionary.iteritems()
}
如果你有沒有列表或元組鍵,你會想用這個:
d ={('a','b'):1,('c','d'):2}
new_d = {a[-1] if isinstance(a, tuple) or isinstance(a, list) else a:b for a, b in d.items()}
你似乎有三元混合。它應該立即跟隨關鍵而不是價值。看看'd = {'x':1,'y':2}會發生什麼?' –
@MosesKoledoye謝謝您指出。請參閱我最近的編輯。 – Ajax1234
是否只發生一次,在每個關鍵的第二部件? –
每個值都有一個**鍵。 –