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

리스트 내포 실전 응용― 텍스트 분석부터 AI 입력 전처리까지

forSilver 2025. 5. 19. 03:17
반응형

리스트 내포 실전 응용
― 텍스트 분석부터 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 입력 필터링에서 자주 쓰이는 만큼,
매끄러운 데이터 흐름을 위해 꼭 익혀두시기 바랍니다.