Joh*_*ard 75 python for-loop list-comprehension
如果我有两个字符串,'abc'并且'def',我可以使用两个for循环获得它们的所有组合:
for j in s1:
for k in s2:
print(j, k)
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够使用列表理解来做到这一点.我尝试了很多方法,但从未设法得到它.有谁知道如何做到这一点?
aar*_*ing 122
lst = [j + k for j in s1 for k in s2]
Run Code Online (Sandbox Code Playgroud)
要么
lst = [(j, k) for j in s1 for k in s2]
Run Code Online (Sandbox Code Playgroud)
如果你想要元组.
就像在问题中一样,for j...外循环for k...是内循环.
从本质上讲,你可以在列表理解中拥有尽可能多的独立'for x in y'子句,只需一个接一个地粘贴.
mil*_*s82 31
由于这实际上是笛卡儿积,因此您也可以使用itertools.product.我认为它更清楚,特别是当你有更多的输入迭代时.
itertools.product('abc', 'def', 'ghi')
Run Code Online (Sandbox Code Playgroud)