生成器和列表理解输入

问题描述 投票:0回答:1

我的意图是在输入上按回车后,输入2个列表,一个接一个,当我运行以下行时,我没有得到任何输入,在jupyter上也没有错误。

N = (list(map(int,input().split())) for _ in range(2))

但是当我建立不是我的意图的列表列表时,它将起作用并提供了输入。

N = [list(map(int,input().split())) for _ in range(2)]

我显然不明白这里发生了什么。

python
1个回答
0
投票

在您的第一行中,您给了generator expression,如果您可以重复使用,可以执行此操作

next(N)

list(N)

在第二行中,您有一个list comprehension,将立即执行您的代码


我的意图是在点击后依次输入2个列表在输入中输入

据我所知,您希望从1个输入中获得2个列表,为此,您需要在列表之间使用分隔符:

sep = '|'
[list(map(int, l.split())) for l in input().split(sep)]
# input: 1 2 3| 0 4 9

输出:

[[1, 2, 3], [0, 4, 9]]
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.