2017-08-10 6 views
0

に辞書からキーを削除します。私がしたいのは、基本的にキーの一つを削除(削除)することです。例えば、私はすべての値はもう最初のキーを必要とし、以下に上記の辞書を変換しないことを言いたい:Pythonはだから私は、次のような辞書を持っている複数のキー

dictionary={'b':1,'d':2} 

何がこれを行うための最も安全な方法だろうか?

おかげ

+0

各キーにおける第2の部材は、一度だけ発生しますか? –

+1

各値に**正確に**キーがあります。 –

答えて

8

あなたは、各タプルの最初のアイテムをドロップする辞書の理解を使用することができます。

dictionary = {k: v for (_, k), v in dictionary.items()} 
1

は、私は、キーの構造を仮定して好きではありません。あなたはリストやタプルではないキーを持っている場合、それは絶対に爆弾プルーフ

from collections import Iterable 
d = { 
    k[-1] if isinstance(k, Iterable) else k: v 
    for k, v in dictionary.iteritems() 
} 
1

を作成するには、これを使用したいと思うでしょう:

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()} 
+0

あなたは三成分が混ざっているようです。それは値ではなくキーの直後にあるべきです。 'd = {'x':1、 'y':2}' –

+0

@MosesKoledoyeそれを指摘していただきありがとうございます。私の最近の編集を見てください。 – Ajax1234

関連する問題