-1

次の辞書でid123で始まるすべての要素を選択する方法

b = {'id123_1': ['ddf', 1], 'id123_2': ['dff', 1], 'id789': ['ddf', 1]}
4

3 に答える 3

4

dictのキーを繰り返し、キーにstartswith()IDが指定されているかどうかを確認します。

elements = [values for key,values in b.iteritems() if key.startswith('id123')]
于 2012-06-11T13:01:26.600 に答える
2
>>> 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']

またはこれの他の変形では、どの出力が望ましいかはあまり明確ではありません。

于 2012-06-11T12:56:55.157 に答える
2

要素によってkey-valueペアを意味する場合、これが進むべき道です:

elements = [(k, v) for k, v in b.iteritems() if k.startswith('id123')]
于 2012-06-11T13:03:10.110 に答える