1
다음은 간단한 코드 예제입니다.은 단순히 여전히 action
함수를 호출하는 이해와 for
루프를 교체하는 (예 : 코드 선명도 등의 이유로) 나쁜 방법입니다 : for 루프 대신 내포 사용
>>> def action(num):
print "Number is", num
>>> items = [1, 3, 6]
>>> for i in [j for j in items if j > 4]:
action(i)
Number is 6
내 질문
는 다음과 같습니다? 즉 :>>> (action(j) for j in items if j > 2)
Number is 6
아니요, 실제로는 더 좋고 더 빠르다고 생각합니다. 처음에는 목록과 루프 이상을 만들지 않았기 때문에 액션은 아무 것도 반환하지 않기 때문에 'None'목록을 반환합니다. 그리고 당신은리스트 컴을 위해서'[]'를 사용할 것입니다. –
사실 그것은리스트 이해력이 아니라 생성자 스테이트먼트입니다. 비록 그것이 당신의 질문에 중대한 영향을 주는지 나는 모른다. – Tagc
@Tagc 제네레이터를 생성한다는 것은 알고 있지만, 발전기 이해력이라고 부를지는 모르겠지만 목록 이해력에 대해서는 동일한 생각입니다. 어떤 이유로 든 다른 사람보다 선호 될 수 있습니까? – Siwel