Python 如何通过听写理解达到以下效果?
您好,我想从dict获取所有“整数值”:Python 如何通过听写理解达到以下效果?,python,python-3.x,dictionary,list-comprehension,Python,Python 3.x,Dictionary,List Comprehension,您好,我想从dict获取所有“整数值”: array_test = [{ "result1" : "date1", "type" : "Integer"},{ "result1" : "date2", "type" : "null"}] 我试过: test = {'result1':array_test['result1'] for element in array_test if array_test['type'] == "Integer"} 但是我得到了这个错误: >>&
array_test = [{ "result1" : "date1", "type" : "Integer"},{ "result1" : "date2", "type" : "null"}]
我试过:
test = {'result1':array_test['result1'] for element in array_test if array_test['type'] == "Integer"}
但是我得到了这个错误:
>>> test = {'result1':array_test['result1'] for element in array_test if array_test['type'] == "Integer"}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <dictcomp>
TypeError: list indices must be integers or slices, not str
>>>
>>>
您需要的是列表理解,而不是字典理解:
array_test = [{ "result1" : "date1", "type" : "Integer"},{ "result1" : "date2", "type" : "null"}]
test = [x for x in array_test if x['type'] == 'Integer']
# [{'result1': 'date1', 'type': 'Integer'}]
为什么??因为所需的输出是一个列表(字典列表)。您需要的是列表理解,而不是字典理解:
array_test = [{ "result1" : "date1", "type" : "Integer"},{ "result1" : "date2", "type" : "null"}]
test = [x for x in array_test if x['type'] == 'Integer']
# [{'result1': 'date1', 'type': 'Integer'}]
为什么??因为所需的输出是一个列表(字典列表)。非常感谢您的支持非常感谢您的支持