반응형
파이썬에서 이중 루프를 끊기 위해 다음 방법을 사용합니다.
for word1 in buf1:
find = False
for word2 in buf2:
...
if res == res1:
print "BINGO " + word1 + ":" + word2
find = True
if find:
break
이중 루프를 끊는 더 좋은 방법이 있습니까?
해결 방법
원하는 바가 아닐 수 있지만 일반적으로 find
를 True
로 설정 한 후 break
를 원할 것입니다.
for word1 in buf1:
find = False
for word2 in buf2:
...
if res == res1:
print "BINGO " + word1 + ":" + word2
find = True
break # <-- break here too
if find:
break
또 다른 방법은 생성기 표현식을 사용하여 for
를 단일 루프로 스쿼시하는 것입니다.
for word1, word2 in ((w1, w2) for w1 in buf1 for w2 in buf2):
...
if res == res1:
print "BINGO " + word1 + ":" + word2
break
itertools.product
사용을 고려할 수도 있습니다.
from itertools import product
for word1, word2 in product(buf1, buf2):
...
if res == res1:
print "BINGO " + word1 + ":" + word2
break
참조 페이지 https://stackoverflow.com/questions/2597104
반응형
'파이썬' 카테고리의 다른 글
파이썬 Django 1.7-makemigrations 후 마이그레이션 실행시 "적용 할 마이그레이션 없음" (0) | 2020.12.08 |
---|---|
파이썬 AttributeError를 해결하는 방법 : 'NoneType'객체에는 Python에서 'encode'속성이 없습니다. (0) | 2020.12.08 |
파이썬으로 목록에서 사전 만들기 (0) | 2020.12.08 |
파이썬 Python : dict의 변수를 네임 스페이스로로드 (0) | 2020.12.07 |
파이썬 matplotlib에서 쉼표를 사용하여 축 번호 형식을 천 단위로 어떻게 포맷합니까? (0) | 2020.12.07 |
댓글