我想从另一个数组中的每个数组中的特定json对象中获得一个特定值。json看起来是这样的(为了解决这个问题而简化(:
{
"data": [
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
},
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
},
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
}
]
}
这适用于每个对象:
['data'][0]['previews'][3]['href']
['data'][1]['previews'][3]['href']
['data'][2]['previews'][3]['href']
我想要获得的相当于:
['data'][0:2]['previews'][3]['href']
要从许多对象中获得href
作为list
,可以使用以下列表理解:
d = {} # JSON from the question
def get_third_preview_href(obj):
return obj['previews'][3]['href']
result = [get_third_preview_href(obj) for obj in d['data']]
或者更勇敢:
result = [obj['previews'][3]['href'] for obj in d['data']]