십대를 위한 코딩/십대를 위한 파이썬

파이썬 집합 내포― 중복 제거, 조건 필터링을 한 줄로!

forSilver 2025. 5. 16. 03:09
반응형

파이썬 집합 내포
― 중복 제거, 조건 필터링을 한 줄로!

집합(set)은 중복을 허용하지 않고, 빠른 검색이 가능합니다.
이런 특징을 내포 표현식과 결합하면 짧고 효율적인 코드를 만들 수 있습니다.


1. 기본 문법

{표현식 for 변수 in 반복가능한객체}

2. 예제 1: 중복 제거

nums = [1, 2, 2, 3, 4, 4, 5]
unique = {n for n in nums}

3. 예제 2: 짝수 필터링

evens = {n for n in range(10) if n % 2 == 0}

4. 예제 3: 문자열에서 모음 추출

text = "Hello Python Set Comprehension"
vowels = {ch.lower() for ch in text if ch.lower() in 'aeiou'}

5. 예제 4: 튜플 조건 필터링

pairs = [(x, y) for x in range(3) for y in range(3)]
unique_products = {x * y for (x, y) in pairs if x != y}

6. 예제 5: 단어 길이 필터링

words = ['a', 'apple', 'bee', 'cherry', 'dog', 'elephant']
long_words = {w for w in words if len(w) >= 4}

✅ 정리

기능예시
중복 제거{x for x in list}
조건 필터링{x for x in list if 조건}
문자열 필터링{c for c in str if c in 'aeiou'}
다차원 자료 처리{x*y for x, y in pairs}

📌 다음 글 예고

리스트, 딕셔너리, 집합 내포를 종합해 중첩 리스트 내포와 다차원 데이터 처리로 확장해 보겠습니다.