How to print list in list python

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?

How to print list in list python

asked Aug 10, 2016 at 11:35

0

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]

answered Aug 10, 2016 at 11:43

How to print list in list python

1

oneliner:

print('\n'.join(' '.join(map(str,sl)) for sl in l))

explanation:
you can convert list into str by using join function:

l = ['1','2','3']
' '.join(l) # will give you a next string: '1 2 3'
'.'.join(l) # and it will give you '1.2.3'

so, if you want linebreaks you should use new line symbol.
But join accepts only list of strings. For converting list of things to list of strings, you can apply str function for each item in list:

l = [1,2,3]
' '.join(map(str, l)) # will return string '1 2 3'

And we apply this construction for each sublist sl in list l

answered Aug 10, 2016 at 11:45

ailinailin

4715 silver badges15 bronze badges

0

You can do this:

>>> lst = [[1, 3, 4], [2, 5, 7]]
>>> for sublst in lst:
...     for item in sublst:
...             print item,        # note the ending ','
...     print                      # print a newline
... 
1 3 4
2 5 7

answered Aug 10, 2016 at 12:09

nalzoknalzok

13.9k19 gold badges64 silver badges122 bronze badges

a = [[1, 3, 4], [2, 5, 7]]
for i in a:
    for j in i:
        print(j, end = ' ')
    print('',sep='\n')

output:

1 3 4
2 5 7

How to print list in list python

SherylHohman

15k16 gold badges84 silver badges89 bronze badges

answered Jul 10, 2020 at 18:11

How to print list in list python

2

lst = [[1, 3, 4], [2, 5, 7]]
 
def f(lst ):
    yield from lst


for x in f(lst):
    print(*x) 

using "yield from"...

Produces Output

1 3 4
2 5 7

[Program finished] 

answered Feb 19, 2021 at 4:06

SubhamSubham

3231 gold badge5 silver badges13 bronze badges

There is an alternative method to display list rather than arranging them in sub-list:

tick_tack_display = ['1', '2', '3', '4', '5', '6', '7', '8', '9']

loop_start = 0
count = 0
while loop_start < len(tick_tack_display):
     print(tick_tack_display[loop_start], end = '')
     count +=1
     if count - 3 == 0:
       print("\n")
       count = 0
     loop_start += 1

OUTPUT :

123
456
789

How to print list in list python

DuDa

3,6484 gold badges15 silver badges36 bronze badges

answered Dec 24, 2020 at 21:01

How to print list in list python

I believe this is pretty simple:

a = [[1, 3, 4], [2, 5, 7]]   # defines the list
    
for i in range(len(a)):      # runs for every "sub-list" in a
    for j in a[i]:           # gives j the value of each item in a[i]
        print(j, end=" ")    # prints j without going to a new line
    print()                  # creates a new line after each list-in-list prints

output

1 3 4 
2 5 7 

How to print list in list python

DuDa

3,6484 gold badges15 silver badges36 bronze badges

answered Jun 5, 2020 at 17:38

How to print list in list python

def print_list(s):
    for i in range(len(s)):
        if isinstance(s[i],list):
            k=s[i]
            print_list(k)
        else:
            print(s[i])
            
s=[[1,2,[3,4,[5,6]],7,8]]
print_list(s)

you could enter lists within lists within lists ..... and yet everything will be printed as u expect it to be.

Output:

1
2
3
4
5
6
7
8

How to print list in list python

DuDa

3,6484 gold badges15 silver badges36 bronze badges

answered Jan 18, 2018 at 17:27

1

There's an easier one-liner way:

a = [[1, 3, 4], [2, 5, 7]] # your data
[print(*x) for x in a][0] # one-line print

And the result will be as you want it:

1 3 4
2 5 7

Make sure you add the [0] to the end of the list comprehension, otherwise, the last line would be a list of None values equal to the length of your list.

answered May 12, 2021 at 2:32

How do you print a list inside a list in Python?

Without using loops: * symbol is use to print the list elements in a single line with space. To print all elements in new lines or separated by space use sep=”\n” or sep=”, ” respectively.

How do I print a list of elements in a list?

When you wish to print the list elements in a single line with the spaces in between, you can make use of the "*" operator for the same. Using this operator, you can print all the elements of the list in a new separate line with spaces in between every element using sep attribute such as sep=”/n” or sep=”,”.

Can you make a list in a list Python?

Python provides an option of creating a list within a list. If put simply, it is a nested list but with one or more lists inside as an element. Here, [a,b], [c,d], and [e,f] are separate lists which are passed as elements to make a new list. This is a list of lists.

How do I print a list of elements in a column in Python?

How to print a list of lists in columns in Python.
print(a_table).
length_list = [len(element) for row in a_table for element in row] Find lengths of row elements..
column_width = max(length_list) Longest element sets column_width..
for row in a_table:.
row = "". join(element. ... .
print(row).