次の辞書でid123で始まるすべての要素を選択する方法
b = {'id123_1': ['ddf', 1], 'id123_2': ['dff', 1], 'id789': ['ddf', 1]}
次の辞書でid123で始まるすべての要素を選択する方法
b = {'id123_1': ['ddf', 1], 'id123_2': ['dff', 1], 'id789': ['ddf', 1]}
dictのキーを繰り返し、キーにstartswith()
IDが指定されているかどうかを確認します。
elements = [values for key,values in b.iteritems() if key.startswith('id123')]
>>> b = {'id123_1': ['ddf', 1], 'id123_2': ['dff', 1], 'id789': ['ddf', 1]}
>>> [v for k,v in b.iteritems() if k.startswith('id123')]
[['dff', 1], ['ddf', 1]]
また
>>> [k for k,v in b.iteritems() if k.startswith('id123')]
['id123_2', 'id123_1']
またはこれの他の変形では、どの出力が望ましいかはあまり明確ではありません。
要素によってkey-value
ペアを意味する場合、これが進むべき道です:
elements = [(k, v) for k, v in b.iteritems() if k.startswith('id123')]