728x90

이전 강의에서는 파일 읽기와 파일 쓰기를 배웠습니다.
이번 강의에서는 파일에서 읽은 데이터를
리스트와 딕셔너리로 구조화해서 사용하는 방법을 다룹니다.
이 단계부터 프로그램이
“데이터를 저장하고 다시 활용하는 구조”를 갖게 됩니다.
파일 데이터는 왜 구조화해야 할까
파일에서 읽은 데이터는
그냥 문자열 덩어리입니다.
철수 90
영희 85
민수 100
이 상태로는
- 점수 계산
- 이름 검색
- 데이터 수정
이런 작업이 어렵습니다.
그래서 파일 데이터는
리스트나 딕셔너리로 바꿔서 사용합니다.
1️⃣ 파일 내용을 리스트로 읽기
먼저 파일을
줄 단위 리스트로 읽습니다.
with open("scores.txt", "r") as f:
lines = f.readlines()
print(lines)
실행 결과 예시
['철수 90\n', '영희 85\n', '민수 100\n']
2️⃣ 문자열 정리하기 (strip)
각 줄에는
줄바꿈(\n)이 포함되어 있으므로
strip()으로 제거합니다.
clean_lines = []
for line in lines:
clean_lines.append(line.strip())
print(clean_lines)
3️⃣ split으로 데이터 분리하기
이제 각 줄을
이름과 점수로 나눕니다.
data = []
for line in clean_lines:
name, score = line.split()
data.append([name, int(score)])
print(data)
결과 예시
[['철수', 90], ['영희', 85], ['민수', 100]]
파일 → 문자열 → 리스트
이 흐름이 핵심입니다.
4️⃣ 리스트를 딕셔너리로 바꾸기
데이터를
딕셔너리로 바꾸면
검색과 관리가 쉬워집니다.
scores = {}
for name, score in data:
scores[name] = score
print(scores)
결과 예시
{'철수': 90, '영희': 85, '민수': 100}
5️⃣ 딕셔너리 데이터 활용하기
이제 데이터를
자유롭게 사용할 수 있습니다.
print(scores["영희"])
for name in scores:
print(name, scores[name])
이 구조는
실제 프로그램에서 매우 자주 사용됩니다.
6️⃣ 파일 → 자료구조 → 로직 패턴
이번 강의의 핵심 패턴입니다.
- 파일에서 읽는다
- 문자열을 정리한다
- 리스트로 나눈다
- 딕셔너리로 구조화한다
- 로직에 사용한다
이게 실전 데이터 처리의 기본 흐름입니다.
7️⃣ 실습 예제
아래 조건을 만족하는 프로그램을 만들어보세요.
- data.txt 파일에
이름 점수 형식으로 여러 줄 저장 - 파일을 읽어서
- 딕셔너리로 변환
- 모든 학생 이름과 점수 출력
더보기
scores = {}
with open("data.txt", "r") as f:
for line in f:
name, score = line.strip().split()
scores[name] = int(score)
for name in scores:
print(name, scores[name])
이번 강의 핵심 정리
- 파일에서 읽은 데이터는 문자열이다
- 문자열은 리스트로 나눠서 처리한다
- 리스트 데이터는 딕셔너리로 구조화할 수 있다
- 파일 + 자료구조 조합은 실전의 기본이다
728x90
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 43강 프로그램 설계 사고방식 (코드보다 먼저 생각하기) (0) | 2026.01.11 |
|---|---|
| [Python] 42강 예외 처리 (try / except)로 프로그램 안전하게 만들기 (0) | 2026.01.11 |
| [Python] 40강 파일 쓰기 기본 (데이터 저장하기) (0) | 2026.01.10 |
| [Python] 39강 파일 읽기 기본 (.txt 파일 다루기) (0) | 2026.01.09 |
| [Python] 38강 return으로 값 돌려받기 (0) | 2026.01.09 |