[PYTHON] if와 break로 파이썬 목록 이해하기
PYTHONif와 break로 파이썬 목록 이해하기
이 코드를 목록 이해력으로 변환 할 수 있습니까?
for i in userInput:
if i in wordsTask:
a = i
break
나는 그것의 일부를 변환하는 방법을 알아 :
[i for i in userInput if i in wordsTask]
하지만 휴식 시간을 추가하는 방법을 모르겠습니다. 문서 작성은 많은 도움이되지 못했습니다.
어떤 도움을 주시면 감사하겠습니다.
해결법
-
==============================
1.
a = next(i for i in userInput if i in wordsTask)
다소 무너 뜨리는 방법 :
[i for i in userInput if i in wordsTask]
목록을 작성합니다. 원하는 것은 목록의 첫 번째 항목입니다. 이를 수행하는 한 가지 방법은 다음 함수를 사용하는 것입니다.
next([i for i in userInput if i in wordsTask])
다음은 반복자에서 다음 항목을 반환합니다. 목록처럼 반복 가능한 경우 첫 번째 항목을 가져온다.
그러나 실제로 목록을 만들 이유가 없으므로 대신 generator 식을 사용할 수 있습니다.
a = next(i for i in userInput if i in wordsTask)
또한 생성자 표현식이 비어 있으면 예외가 발생합니다. StopIteration. 그 상황을 처리하고 싶을 수도 있습니다. 또는 기본값을 추가 할 수 있습니다.
a = next((i for i in userInput if i in wordsTask), 42)
from https://stackoverflow.com/questions/9014058/creating-a-python-list-comprehension-with-an-if-and-break by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 : 폴더에서 몇 개의 json 파일 읽기 (0) | 2018.11.16 |
---|---|
[PYTHON] delimiter word에 기반한리스트 분할하기 (0) | 2018.11.16 |
[PYTHON] 온 - 디스크 데이터베이스와 빠른 인 - 메모리 데이터베이스 사이를왔다 갔다합니까? (0) | 2018.11.16 |
[PYTHON] BeautifulSoup4가 숨어있는 곳은 어디입니까? (0) | 2018.11.16 |
[PYTHON] 어떻게하면 파이썬에서 여러 개의 빈 목록을 만들 수 있습니까? (0) | 2018.11.16 |