["python","for-loop","list-comprehension"]
Nested For Loops Using List Comprehension

If I had two strings, 'abc' and 'def', I could get all combinations of them using two for loops: for j in s1: for k in s2: print(j, k) However, I would like to be able to do this using list comprehension. I've tried many ways, but have never managed to get it. Does anyone know how to do this?
lst = [j + k for j in s1 for k in s2] or lst = [(j, k) for j in s1 for k in s2] if you want tuples. Like in the question, for j... is the outer loop, for k... is the inner loop. Essentially, you can have as many independent 'for x in y' clauses as you want in a list comprehension just by sticking one after the other. To make it more readable, use multiple lines: lst = [ j + k # result for j in s1 # for loop for k in s2 # for loop # condition ]