for 문을 한 줄로 작성할 수 있는 리스트 컴프리헨션에서
for 문 안에 조건문을 넣고 싶을 수 있다.
그 때 if 만 쓰거나 if - else 까지 넣고 싶을 수 있다.
return [t for t, r in zip(todo_list, finished) if not r]
# 틀린 문법
return [t if not r else continue for t, r in zip(todo_list, finished)]
if 만 쓸 경우에는 for 문 뒤에 적어준다.
참고로, continue, pass 와 같이 반복문 건너뛰는 명령어는 list comprehension 에서 쓸 수 없다.
else 문을 쓰려면 꼭 다른 반환되는 값이 필요하다.
[ num if num % 2 == 0 else 0 for num in num_list]
list comprehension 을 거치면 자동으로 해당되는 값이 담긴 리스트가 반환된다.
# 아직 마치지 못한 일들을 순서대로
def todo(todo_list, finished):
return [t for t, r in zip(todo_list, finished) if not bool(r)]
'''
return [work for idx, work in enumerate(todo_list) if not finished[idx]]
return [x for x, b in zip(todo_list, finished) if not b]
'''
'''
JS
return todo_list.filter((e,i) => !finished[i]);
Java
for(int i=0; i<finished.length; i++){
str = finished[i]==false ? str+todo_list[i]+"," : str;
}
return str.split(",");
'''
# ["practiceguitar", "studygraph"]
print(todo(["problemsolving", "practiceguitar", "swim", "studygraph"], [True, False, True, False]))
1) 리스트 컴프리헨션
## 리스트 생성하기 기존에 배운 문법으로 1부터 10까지 정수를 순서대로 가지고 있는 리스트를 생성하는코드는 다음과 같습니다. ``` numbers = [] for n i…
wikidocs.net
https://jinmay.github.io/2020/05/28/python/python-list-comprehension-with-if-statement/
[python]리스트 컴프리핸션에서 if문 사용하기
리스트 컴프리핸션(list comprehension)이란 pythonic 하다고 표현되는 대표적인 문법 중에 하나이다. 꽤 간단한 방법으로 리스트를 만들 수 있다는 장점이 있다. 기본적으로 for문을 사용하기 때문에 반
jinmay.github.io
https://itgilajavy.tistory.com/25
14. python 반복문 제어하기 - break, continue, pass
1. continue - continue는 반복문(for, while)에서 아래 code를 실행 시키지 않게 다음 반복 구문으로 넘어가도록 하는 제어자 입니다. - 보통 if구문(조건문)으로 조건에 따라 다음 반복문으로 건너 뛸지를
itgilajavy.tistory.com
for 문을 한 줄로 작성할 수 있는 리스트 컴프리헨션에서
for 문 안에 조건문을 넣고 싶을 수 있다.
그 때 if 만 쓰거나 if - else 까지 넣고 싶을 수 있다.
return [t for t, r in zip(todo_list, finished) if not r]
# 틀린 문법
return [t if not r else continue for t, r in zip(todo_list, finished)]
if 만 쓸 경우에는 for 문 뒤에 적어준다.
참고로, continue, pass 와 같이 반복문 건너뛰는 명령어는 list comprehension 에서 쓸 수 없다.
else 문을 쓰려면 꼭 다른 반환되는 값이 필요하다.
[ num if num % 2 == 0 else 0 for num in num_list]
list comprehension 을 거치면 자동으로 해당되는 값이 담긴 리스트가 반환된다.
# 아직 마치지 못한 일들을 순서대로
def todo(todo_list, finished):
return [t for t, r in zip(todo_list, finished) if not bool(r)]
'''
return [work for idx, work in enumerate(todo_list) if not finished[idx]]
return [x for x, b in zip(todo_list, finished) if not b]
'''
'''
JS
return todo_list.filter((e,i) => !finished[i]);
Java
for(int i=0; i<finished.length; i++){
str = finished[i]==false ? str+todo_list[i]+"," : str;
}
return str.split(",");
'''
# ["practiceguitar", "studygraph"]
print(todo(["problemsolving", "practiceguitar", "swim", "studygraph"], [True, False, True, False]))
1) 리스트 컴프리헨션
## 리스트 생성하기 기존에 배운 문법으로 1부터 10까지 정수를 순서대로 가지고 있는 리스트를 생성하는코드는 다음과 같습니다. ``` numbers = [] for n i…
wikidocs.net
https://jinmay.github.io/2020/05/28/python/python-list-comprehension-with-if-statement/
[python]리스트 컴프리핸션에서 if문 사용하기
리스트 컴프리핸션(list comprehension)이란 pythonic 하다고 표현되는 대표적인 문법 중에 하나이다. 꽤 간단한 방법으로 리스트를 만들 수 있다는 장점이 있다. 기본적으로 for문을 사용하기 때문에 반
jinmay.github.io
https://itgilajavy.tistory.com/25
14. python 반복문 제어하기 - break, continue, pass
1. continue - continue는 반복문(for, while)에서 아래 code를 실행 시키지 않게 다음 반복 구문으로 넘어가도록 하는 제어자 입니다. - 보통 if구문(조건문)으로 조건에 따라 다음 반복문으로 건너 뛸지를
itgilajavy.tistory.com