728x90
filter(함수, list)
리스트에서 특정 조건을 만족하는 원소를 추출할 때 쓰인다.
a = [1, 2, 3, 4, 5, 6, 7]
def isEvenNumber(x):
return x % 2 == 0
print(list(filter(isEvenNumber, a)))
[2, 4, 6]
굳이 함수를 만들지 않고 lambda를 사용해서 필터링할 수 있다.
a = [1, 2, 3, 4, 5, 6, 7]
print(list(filter(lambda x: x%2 == 0, a)))
[2, 4, 6]
list를 사용한 이유는 filter return type이 iterable이기 때문
Comprehension
list의 comprehension을 사용하면 해당 list의 원소를 변환할 수 있다.
a = [1, 2, 3, 4, 5, 6, 7]
print([ i*2 for i in a])
위의 comprehension에 if문을 사용하면 조건에 맞는 원소를 선별할 수 있다.
a = [1, 2, 3, 4, 5, 6, 7]
print([ i*2 for i in a if i%2==0])
[4, 8, 12]
728x90
'Python > 이론, 기초' 카테고리의 다른 글
[Python] 파이썬 단계적 함수, 함수 안에 함수 선언 (0) | 2023.05.04 |
---|---|
[Python] defaultdict, dict의 자료형을 알고 있을 때 자동으로 생성 (0) | 2023.05.04 |
[Python] map에서 lambda 쓰기 (0) | 2023.05.01 |
[Python] 딕셔너리 정렬하기 (0) | 2023.05.01 |
[Python] deque 스택, 큐 라이브러리 사용하기 (0) | 2023.03.31 |