我有一个词典列表,如:
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中所做的事情。
答案 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]]