I have a list of lists:
a = [[1, 3, 4], [2, 5, 7]]
I want the output in the following format:
1 3 4 2 5 7
I have tried it the following way , but the outputs are not in the desired way:
for i in a: for j in i: print(j, sep=' ')
Outputs:
1 3 4 2 5 7
While changing the print call to use end
instead:
for i in a: for j in i: print(j, end = ' ')
Outputs:
1 3 4 2 5 7
Any ideas?
Advertisement
Answer
Iterate through every sub-list in your original list and unpack it in the print call with *
:
a = [[1, 3, 4], [2, 5, 7]] for s in a: print(*s)
The separation is by default set to ' '
so there’s no need to explicitly provide it. This prints:
1 3 4 2 5 7
In your approach you were iterating for every element in every sub-list and printing that individually. By using print(*s)
you unpack the list inside the print call, this essentially translates to:
print(1, 3, 4) # for s = [1, 3, 4] print(2, 5, 7) # for s = [2, 5, 7]