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

파이썬 리스트 내포 × enumerate × zip × lambda― 현실 문제를 한 줄로 해결하는 고급 조합

forSilver 2025. 5. 18. 03:15
반응형

파이썬 리스트 내포 × enumerate × zip × lambda
― 현실 문제를 한 줄로 해결하는 고급 조합

리스트 내포는 반복을 간결하게 표현하는 도구지만, 다른 함수들과 결합하면 강력한 데이터 처리 도구가 됩니다.
이번 글에서는 enumerate, zip, lambda, map, filter를 함께 쓰는 고급 기법을 소개합니다.


1. enumerate × 리스트 내포

[(i, v.upper()) for i, v in enumerate(['a', 'b', 'c'])]

2. zip × 리스트 내포

[f'{n}: {s}' for n, s in zip(['Tom', 'Jane'], [95, 88])]

3. lambda × 리스트 내포

[('even' if (lambda x: x % 2 == 0)(n) else 'odd') for n in [1,2,3]]

4. map × 리스트 내포

[len(w) for w in map(str.upper, ['hello', 'world'])]

5. filter × 리스트 내포

[n for n in filter(lambda x: x % 3 == 0, [10, 15, 21])]

6. 조합 예제

[f'{n}({s})' for n, s in zip(names, scores) if s >= 60]

✅ 요약 정리

조합 목적
enumerate() 인덱스 + 값
zip() 두 리스트 병렬 처리
lambda 간단한 계산 적용
map() 함수로 일괄 가공
filter() 조건에 맞는 것만 추출

📌 다음 글 예고

실전 텍스트 전처리, 데이터 요약, AI 입력 정제 등에 리스트 내포가 어떻게 활용되는지 소개하겠습니다.