2

I want to make a list of lists. It must be able to catch the user input and store it as a list inside a list. Something like:

The user passes values like:

5 4

1 2

3 4

4 5

1 3

So I take the user input and store it as a list inside a list. It would be like

lis2 = [[5, 4], [1, 2], [3, 4], [4, 5], [1, 3]]

So I did something like this

edges = [ ]

for k in range(m): #m is the no of edges
    edges.append([int(i),int(j)] for i,j in [input().split(" ")])

I get a list of generator objects:

[<generator object <genexpr> at 0x7fb3d04f38e0>, <generator object 
<genexpr> at 0x7fb3d04d0f10>, <generator object <genexpr> at 
0x7fb3cf034f68>, <generator object <genexpr> at 0x7fb3cf034fc0>]

What is going wrong?

Georgy
  • 12,464
  • 7
  • 65
  • 73
Souvik Ray
  • 2,899
  • 5
  • 38
  • 70

1 Answers1

1

in python 3 it will return as generator so you need to use list to parse values, list(generator objects)

By the way,

simple example in python3,

edges = []
for _ in range(5):
    edges.append(list(map(int, input().split())))
print(edges)

mohideen@dev:~$ python3 Desktop/sample.py 
1 2
2 3
3 4 
4 5
5 6
[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]
mohideen@dev:~$ 
Mohideen bin Mohammed
  • 18,813
  • 10
  • 112
  • 118