python에서 iterables의 경우 많은 한 행 반복 명령을 구성 할 수 있습니다.if 문을 사용하여 목록 이해 (또는 한 줄짜리 표현)
이러한 반복 중 일부는 if 문이 필요합니다.
때때로 if 문과 for 문이 중요합니다. 나는 0에서 10 사이의 홀수의 합을 검색해야하는 경우를 가정 해 봅시다 :
>>> sum(i if not i%2==0 for i in range(10))
SyntaxError: invalid syntax
>>> sum(i for i in range(10) if not i%2==0)
25
그 한 라이너는하지만 난 정말 만약 문이 후 을 제공하는 이유를 이해하지 않는, 본질적으로 매우 이해하기 힘든 것이 for 문. 이전의 i if not i%2==0 for i in range(10)
을 사용하는 것이 상식에 더 적합하지 않습니까?
왜 'i % 2! = 0'대신 'not i % 2 == 0'을 쓰고 있습니까? – phihag
"그 하나의 라이너는 본질적으로 이해할 수 없습니다"라는 말은 매우 심각한 담요입니다. 사실, 그들은 꽤 이해할 수 있고 매우 강력합니다. –
"사실, 목록 내장을위한 파이썬 구문은 이해하기 쉽지 않습니다. 다른 방식으로 변경하면 안됩니까?"라고 효과적으로 말하고 있습니다. 음, 파이썬의 기능을 성공적으로 사용하는 사람들이 수없이 많습니다. 그래서/이해할 수있다. 만약 당신이 그것을 좋아하지 않는다면, 당신은 항상 파서를 자신을 위해 수정하고 그것을 PEP로 제안 할 수 있습니다. 물론 목록 작성 방법을 표현할 수있는 언어를 찾고 개발하는 것은 언제나 환영합니다. – inspectorG4dget