繁体   English   中英

生成器和列表理解输入

[英]generator and list comprehension input

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

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

但是当我构建一个列表列表时,它会起作用并提供输入。

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

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

在你的第一行你给出了一个生成器表达式,如果你迭代,这将被执行,你可以使用

next(N)

或者

list(N)

在你的第二行,你有一个列表理解,可以立即执行你的代码


我的目的是在输入后依次输入 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]]

此外,您可以在“抓取”并处理输入后将结果解压缩到 2 个列表中:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM