-1

如何在以下字典中选择所有以id123开头的元素

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

3 回答 3

4

遍历字典的键并查看键是否startswith()给定 id:

elements = [values for key,values in b.iteritems() if key.startswith('id123')]
于 2012-06-11T13:01:26.600 回答
2

如果通过元素你的意思是key-value对,这是要走的路:

elements = [(k, v) for k, v in b.iteritems() if k.startswith('id123')]
于 2012-06-11T13:03:10.110 回答
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 回答