2016-07-14 37 views
0

這僅僅是爲了我自己對語言的好奇心。我可以在列表理解期間閱讀多行輸入()嗎?

我有這樣的工作代碼:

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

這引發了一個錯誤,通知我拉鍊的第二個參數必須是迭代。

回答

0

是的,你可以,

students=[[input(), input()] for i in range(3)] 
相關問題