filter 함수

정의

  • 반복 가능한 객체의 요소 중 특정 조건을 만족하는 요소만 남기는 함수

기본 문법

  • True나 False를 반환하는 조건함수를 인자로 받는다.
  • 조건 함수가 True를 반환하는 요소만 컬렉션에 포함한다.
1
filter(조건함수, iterate 객체)

활용 예시

1
2
3
4
5
6
7
8
9
students = [
    {"name": "김지원", "score": 85},
    {"name": "이민준", "score": 65},
    {"name": "박서연", "score": 90},
    {"name": "정현우", "score": 55},
    {"name": "최예은", "score": 78},
]
passed_students = list(filter(lambda student:student["score"] >= 70, students))
print([stud["name"] for stud in passed_students])

이걸 반복문으로 작성했을 경우엔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
students = [
    {"name": "김지원", "score": 85},
    {"name": "이민준", "score": 65},
    {"name": "박서연", "score": 90},
    {"name": "정현우", "score": 55},
    {"name": "최예은", "score": 78},
]
passed_students = list()

for student in students:
    if student["score"] >= 70:
        passed_students.append(student)

print([stud["name"] for stud in passed_students])

Reference

방송통신대 - 오픈소스기반 데이터분석 (정재화)

Comments