我可以在列表理解期间读取多行输入()吗?

时间:2016-07-14 13:49:47

标签: list-comprehension

这只是因为我对这种语言的好奇心。

我有这个工作代码:

for i in range(n):
    name, grade = input(), int(input())
    students += [[name, grade]]

通常使用for循环来构建列表,我能够编写列表理解,所以我很好奇在这种情况下我是否可以。

我已经尝试了几个实验,但都没有成功。

students = [[[name, grade]] for name in input() for grade in input() for i in range(n)]

但是我得到了EOFerror。所以也许这是可能的,并且我的代码中还有一些其他错误,或者可能不是因为我尝试这种错误会导致错误。

我也尝试过:

students = [[[name, grade]] for name, grade in zip(input(), int(input())) for i in range(n)]

这引发了一个错误,告诉我zip的第二个参数必须是可迭代的。

1 个答案:

答案 0 :(得分:0)

是的,你可以,

students=[[input(), input()] for i in range(3)]