반응형
리스트 내포 실전 응용
― 텍스트 분석부터 AI 입력 전처리까지
지금까지 우리는 리스트 내포의 문법을 익혔습니다.
이제는 그것을 어떻게 현실 문제 해결에 적용할 수 있는지 실제 예제를 통해 확인해봅니다.
1. 텍스트 정제
text = "This is a Sample Sentence for Text Processing"
stopwords = ['is', 'a', 'for']
words = [word.lower() for word in text.split() if word.lower() not in stopwords]
2. 단어 길이 필터링
sentence = "Python is simple yet powerful"
long_words = [w for w in sentence.split() if len(w) >= 5]
3. AI 입력 전처리
tokens = ['chatgpt', 'is', 'very', 'intelligent', 'and', 'helpful']
truncated = [t for t in tokens if len(t) <= 5]
4. JSON-like 필터링
users = [{"name": "Tom", "age": 17}, {"name": "Jane", "age": 22}]
adults = [u['name'] for u in users if u['age'] >= 20]
5. 짝수만 제곱
nums = [1, 2, 3, 4, 5]
processed = [n**2 if n % 2 == 0 else n for n in nums]
6. 문자 중복 제거 + 정렬
text = "programming"
unique_sorted = sorted({ch for ch in text})
✅ 정리
문제 상황 | 리스트 내포 해결 방식 |
---|---|
불용어 제거 | [w.lower() for w in ... if w not in stopwords] |
길이 조건 | [w for w in list if len(w) >= N] |
전처리 | [w for w in tokens if len(w) <= N] |
JSON 필터링 | [d['name'] for d in data if 조건] |
조건부 변형 | [x**2 if x % 2 == 0 else x] |
중복 문자 정리 | sorted({ch for ch in text}) |
📌 마무리
리스트 내포는 단순 문법이 아니라, 실전 데이터 작업의 핵심 도구입니다.
특히 텍스트 분석, 자연어 처리, AI 입력 필터링에서 자주 쓰이는 만큼,
매끄러운 데이터 흐름을 위해 꼭 익혀두시기 바랍니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
파이썬 리스트 내포 × enumerate × zip × lambda― 현실 문제를 한 줄로 해결하는 고급 조합 (1) | 2025.05.18 |
---|---|
중첩 리스트 내포― 다차원 데이터를 한 줄로 다루는 파이썬의 마법 (0) | 2025.05.17 |
파이썬 집합 내포― 중복 제거, 조건 필터링을 한 줄로! (0) | 2025.05.16 |
파이썬 딕셔너리 내포― 한 줄로 만드는 똑똑한 데이터 매핑 (2) | 2025.05.15 |
리스트 내포로 2차원 리스트 만들기 (1) | 2025.05.14 |