从用户输入创建2D列表

时间:2017-09-05 06:04:27

标签: python-3.x list

我想列出list.It必须能够捕获用户输入并将其作为列表存储在列表中。像

用户传递的值如

5 4

1 2

3 4

4 5

1 3

所以我接受用户输入并将其作为列表存储在列表中。它就像

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

所以我做了类似的事情

edges = [ ]



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

我得到了一个生成器对象列表

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

出了什么问题?

1 个答案:

答案 0 :(得分:1)

在python 3中它将作为生成器返回,因此您需要使用list来解析值list(generator objects)

顺便说一下,

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:~$