Search code examples
pythonpython-3.xlistloopslist-comprehension

Dict in List comprehension Python


I have a List with API results:

result = [(True, 
        {'result': 
            {'skus': 
                [{'sku': '123'}, {'sku': '124'}]
                }
        }
    ),
    (True, 
        {'result': 
            {'skus': 
                [{'sku': '125'}, {'sku': '126'}]
                }
        }
    )
]

So, I need to get each 'sku'

I can do it in two loops:

for elem in result:
for sku in elem[1]["result"]["skus"]:
     print(sku)

How can I do it in one string?


Solution

  • How can I do it in one string?

    Is this what you're looking for?

    print([sku for elem in result for sku in elem[1]["result"]["skus"]])