왜
s = [1, 2, 3, 4, 5, 6]i = 0i = s[i] = 3 결과는 [1, 2, 3, 3, 5, 6]입니다. 그리고 [3, 2, 3, 4, 5, 6]이 아닙니다
아래에 제가 쓴 기사를 참조할 수 있습니다: Python: 연쇄 할당의 함정
과제문에 따르면:
는
그래서: i=s[i]=3는 다음과 같습니다:
i=s[i]=3
Python의 할당은 연산자가 아닌 문이므로 (a=b) 표현식은 구문 오류를 생성하고 할당 문에는 값이 없습니다.
(a=b)
참조 https://stackoverflow.com/que...
먼저 i가 3이 되고 s[i] 값이 할당됩니다
결과를 되돌아보면 s[i] = 3 이전에 i=3이 실행되었습니다.
그냥 두 문장으로 쓰면 안 되나요?
PythonTutor.com을 사용할 수 있습니다. i = s[i] = 3 해당 줄은 기본적으로 i=3 및 s[i]=3을 연속적으로 실행합니다
i = s[i] = 3 等价于 i = 3; s[i] = 3
i = s[i] = 3
i = 3; s[i] = 3
dis 모듈을 사용하여 실행 프로세스를 분석하세요.
별도 작성 예시
아래에 제가 쓴 기사를 참조할 수 있습니다: Python: 연쇄 할당의 함정
과제문에 따르면:
으아악는
와 동일합니다. 으아악그래서:
으아악i=s[i]=3
는 다음과 같습니다:Python의 할당은 연산자가 아닌 문이므로
(a=b)
표현식은 구문 오류를 생성하고 할당 문에는 값이 없습니다.참조 https://stackoverflow.com/que...
는
와 동일합니다. 으아악먼저 i가 3이 되고 s[i] 값이 할당됩니다
결과를 되돌아보면 s[i] = 3 이전에 i=3이 실행되었습니다.
그냥 두 문장으로 쓰면 안 되나요?
PythonTutor.com을 사용할 수 있습니다.
i = s[i] = 3 해당 줄은 기본적으로 i=3 및 s[i]=3을 연속적으로 실행합니다
i = s[i] = 3
等价于i = 3; s[i] = 3
dis 모듈을 사용하여 실행 프로세스를 분석하세요.
으아악별도 작성 예시
으아악