4

我有一个字典列表,例如:

dict_list = [{'key1': 'dict1_value1', 'key2': 'dict1_value2', 'key3': 'dict1_value3'},
{'key1': 'dict2_value1', 'key2': 'dict2_value2', 'key3': 'dict2_value3'},
{'key1': 'dict3_value1', 'key2': 'dict3_value2', 'key3': 'dict3_value3'},
{'key1': 'dict4_value1', 'key2': 'dict4_value2', 'key3': 'dict4_value3'},
{'key1': 'dict5_value1', 'key2': 'dict5_value2', 'key3': 'dict5_value3'}]

获取第二个列表项的“key3”的值就像:

dict_list[1]['key3']
dict2_value3

下面的代码还从列表中返回项目 2:4:

dict_list[1:3]

如果我想从列表中获取多个项目的“key3”值怎么办。喜欢

dict_list[1:3]['key3']

类似于我们在 MATLAB 中所做的事情。

4

3 回答 3

7
>>> [x.get('key3') for x in dict_list[1:3]]
['dict2_value3', 'dict3_value3']
于 2013-07-11T05:59:58.320 回答
3
[dict_list[i]['key3'] for i in xrange(1,3)]

或者

[operator.itemgetter('key3')(dict_list[i]) for i in range(1,3)]

或者

map(operator.itemgetter('key3'), itertools.islice(dict_list, 1,3))
于 2013-07-11T05:57:21.203 回答
2

[x['key3'] for x in dict_list[1:3]]

于 2013-07-11T05:48:02.953 回答