将多个for循环压缩到列表理解中

Dav*_*542 0 python list-comprehension

如何在列表理解中执行以下操作?

asins = []
for item in data['message']['body']['titles']:
    for format in item['formats']:
        for offer in format['offers']:
            asins.append(offer['asin'])
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

只需将包含append()的表达式移到前面,删除冒号并在整个表达式周围添加括号:

asins = [offer['asin']
    for item in data['message']['body']['titles']
        for format in item['formats']
            for offer in format['offers']]
Run Code Online (Sandbox Code Playgroud)

for否则,陈述的顺序不会改变.我们现在可以更改缩进,如果您愿意,可以加入行:

asins = [offer['asin']
         for item in data['message']['body']['titles']
         for format in item['formats']
         for offer in format['offers']]
Run Code Online (Sandbox Code Playgroud)