Python에서 명시적 반복자 없이 반복
Python에서 값 범위를 반복하는 일반적인 방법은 for 루프를 사용하여 다음과 같은 반복자 변수:
for i in range(some_number): # do something
그러나 이 구문은 경우에 따라 중복될 수 있습니다. 여기서는 반복자 변수가 필요하지 않습니다. 대신 명시적인 반복자를 지정하지 않고 루프를 실행할 수 있는지 궁금할 수 있습니다.
답변:
안타깝게도 현재는 반복자를 지정하지 않고 루프를 생성하는 것이 불가능합니다. Python에서 반복자 변수를 사용합니다. 가장 가까운 근사치는 다음과 같이 익명 함수를 사용하는 루프입니다.
def loop(f, n): for i in xrange(n): f() loop(lambda: <insert expression here>, 5)
그러나 이 접근 방식은 표준 for 루프를 사용하는 것보다 약간 더 복잡하며 일반적으로 사용되지 않습니다.
또 다른 옵션은 추가 변수 역할을 하는 '_' 변수를 사용하는 것입니다. 그러나 '_'는 대화형 Python 세션에서 이전 표현식의 결과를 보유하므로 이 맥락에서 사용하는 것이 다소 바람직하지 않다는 점에 유의하는 것이 중요합니다.
게다가 '_'는 구문적으로 유효한 변수 이름입니다. , 잠재적인 충돌로 이어질 수 있습니다. 예를 들면 다음과 같습니다.
for _ in xrange(10): pass _ # The resulting value is 9 1+2 # The result is still 3, even though it should be 2 since '_' is set to 9
코드 명확성을 유지하고 잠재적인 문제를 방지하기 위해 for 루프에 명시적 반복자 변수를 사용하는 것이 일반적으로 좋은 방법으로 간주됩니다.
위 내용은 명시적 반복자 없이 Python에서 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!