Python:字典列表,如何获取列表中多个项目的特定键的值?

时间:2013-07-11 05:46:11

标签: python dictionary key-value

我有一个词典列表,如:

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中所做的事情。

3 个答案:

答案 0 :(得分:7)

>>> [x.get('key3') for x in dict_list[1:3]]
['dict2_value3', 'dict3_value3']

答案 1 :(得分:3)

[dict_list[i]['key3'] for i in xrange(1,3)]

OR

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

OR

map(operator.itemgetter('key3'), itertools.islice(dict_list, 1,3))

答案 2 :(得分:2)

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