2016-07-14 2 views
0

Это только для моего собственного любопытства в отношении языка.Могу ли я читать многострочный вход() во время понимания списка?

У меня есть этот рабочий код:

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

Обычно с цикл, который построения списка, я могу написать список понимание, поэтому мне любопытно, смогу ли я в этом случае.

Я уже пробовал пару экспериментов, оба были безуспешными.

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)]

Что вызывает ошибку, сообщающую мне второй аргумент молнии должна быть итерацией.

ответ

0

Да, вы можете,

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