2017-04-19 2 views
0
a,b = int(i) for i in input().split() 

누군가 위의 코드가 작동하지 않는 이유를 설명 할 수 있습니까?파이썬에서 for 루프를 사용하여 입력하기

a = [int(i) for i in input().split()] 

을하지만, 왜이 개 값을 작동하지 않습니다

나는 내가 목록처럼 만들기 위해 이것을 사용할 수 이해? 런타임 예외 (2 개 이상의 값 전달)가 발생하면 종료는 완전히 합법적입니다. 그러나 잘못된 구문을 보여줍니다.

+2

'당신이'이외의 괄호가 필요한 이유에 대한 질문에 대답 할 수는 없지만 [a, b = [i는 [1,2]에서 ']는'a '에 값을 할당하고 'b '값 – Wokpak

+1

첫 번째 예제에서 대괄호를 사용하지 않은 이유는 무엇입니까? 나는'a, b = [int (i) in input(). split()]'이 당신이 원하는 것을 수행한다고 생각합니다. – FamousJameous

+1

[list comprehensions] (https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions) – anshulk

답변

0

방금 ​​확인했습니다. 이들은 발전기 기능이라고합니다.

a,b = (int(x) for x in input().split()) 

또한, a,b = [int(x) for x in input().split()]이 같은 일을하지만, 대신에이 목록을 반환 : 그리고 같은 코드를 수정할 수 있습니다. 그러면 목록은 반복되고 파이썬의 끝에 변수에 할당됩니다. (내가 틀렸다면 나를 바로 잡으세요)

답변 해 주신 모든 분들께 감사드립니다! : D

관련 문제