📚 텍스트 파일 분석
1. 파일 다루기
1) 파일 열기/닫기
- 열었다면 반드시 닫기! 프로그램 실행 속도에 영향을 주기 때문!
file.open('data.txt')
content = file.read()
file.close()
2) 파일 자동으로 닫기
with open('data.txt') as file:
file.open('data.txt')
3) 줄 단위로 읽기
contents = []
with open(‘data.txt’) as file:
for line in file:
contents.append(line)
4) 파일의 모드
- open 기본 옵션은 읽기 모드로 열기!
- 모드: 읽기, 쓰기, 읽고 쓰기
with open(‘data.txt’, ‘w’) as file:
file.write(‘Hello’)
2. 데이터 구조
1) 튜플 (Tuple)
hello = (‘안녕하세요’, ‘hello’, ‘bonjour’)
apple = (‘사과’, ‘apple’, ‘pomme’)
red = (‘빨갛다’, ‘red’, ‘rouge’)
- ❗️튜플 vs. 리스트❗️
- 공통점: 순서가 있는 원소들의 집합
- 차이점: 각 원소의 값을 수정할 수 없음, 원소의 개수를 바꿀 수 없음 (튜플은 변형 불가능)
hello = [‘안녕하세요’, ‘hello’, ‘bonjour’]
hello[0] = ‘안녕’
hello.append(‘ni hao’)
hello = (‘안녕하세요’, ‘hello’, ‘bonjour’)
hello[0] = ‘안녕’
hello = (‘안녕’, ‘hello’, ‘bonjour’)
hello.append(‘ni hao’)
2) list comprehension
words = [‘life’, ‘love’, ‘faith’]
first_letters = []
for word in words:
first_letters.append(word[0])
first_letters = [word[0] for word in words]
numbers = [1, 3, 5, 7]
new_numbers = []
for n in numbers:
new_numbers.append(n + 1)
new_numbers = [n + 1 for n in numbers]
numbers = [1, 3, 4, 5, 6, 7]
even = []
for n in numbers:
if n % 2 == 0:
even.append(n)
even = [n for n in numbers if n % 2 == 0]
odd = [n + 1 for n in numbers if n % 2 == 0]
3) .sort
numbers = [-1, 3, -4, 5, 6, 100]
sort_by_abs = sorted(numbers, key=abs)
def reverse(word):
return str(reversed(word))
fruits = [‘cherry’, ‘apple’, ‘banana’]
sort_by_last = sorted(fruits, key=reverse)