Python/이론, 기초
[Python] 리스트에서 원하는 원소 추출, 리스트 필터링
파송송
2023. 5. 2. 17:04
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