0
a,b = int(i) for i in input().split()
有人可以解釋爲什麼上面的代碼不起作用嗎?在python中使用for循環輸入
我明白,我可以用它來製作列表,如:
a = [int(i) for i in input().split()]
但爲什麼沒有2個值工作?如果運行時異常上升(傳遞超過2個值),則終止是完全合法的。但顯示無效的語法。
a,b = int(i) for i in input().split()
有人可以解釋爲什麼上面的代碼不起作用嗎?在python中使用for循環輸入
我明白,我可以用它來製作列表,如:
a = [int(i) for i in input().split()]
但爲什麼沒有2個值工作?如果運行時異常上升(傳遞超過2個值),則終止是完全合法的。但顯示無效的語法。
我剛查過。這些被稱爲發電機功能。並且可以將代碼修改爲:
a,b = (int(x) for x in input().split())
此外,也做同樣的工作,而是它返回一個列表。然後迭代列表並將其分配給python結尾的變量。 (糾正我,如果我錯了)
感謝大家誰回答! :D
我不能回答你的問題,爲什麼你需要括號而不是'你做'但是'a,b = [i for i in [1,2]]'does does a value to a'and一個值給'b' – Wokpak
爲什麼你在第一個例子中放下方括號?我認爲'a,b = [int(i)for i in input().span()]'做你想做的事。 – FamousJameous
參考[list comprehensions](https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions) – anshulk