본문 바로가기

분류 전체보기414

회문 판별과 N-gram 만들기 1. 회문( palindrome ) 판별하기회문(palindrome)은 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장을 말합니다.예를 들면 "level", "SOS", "rotator", "nurses run"과 같은 단어와 문장이 있지요. 1) 반복문으로 문자 검사하기이제 반복문으로 문자열의 각 문자를 검사해보겠습니다.palindrome.pyword = input('단어를 입력하세요: ') is_palindrome = True # 회문 판별값을 저장할 변수, 초깃값은 Truefor i in range(len(word) // 2): # 0부터 문자열 길이의 절반만큼 반복 if word[i] != word[-1 - i]: # 왼쪽 문자와 오른쪽.. 2026. 1. 24.
파일 다루기 메서드설명read()파일에서 문자열을 읽음write('문자열')파일에 문자열을 씀readline()파일의 내용을 한 줄 읽음readlines()파일의 내용을 한 줄씩 리스트 형태로 가져옴writelines(문자열리스트)파일에 리스트의 문자열을 씀, 리스트의 각 문자열에는 \n을 붙여주어야 함pickle.load(파일객체)파일에서 파이썬 객체를 읽음pickle.dump(객체, 파일객체)파이썬 객체를 파일에 저장 1. 파일에 문자열 쓰기, 읽기이제부터 파일에 문자열을 써서 파일을 만든 뒤에 만든 파일을 읽는 순서로 진행하겠습니다.1) 파일에 문자열 쓰기파일객체 = open(파일이름, 파일모드)파일객체.write('문자열')파일객체.close()file_write_string.pyfile = open('he.. 2026. 1. 24.
SET 메서드집합 연산자설명set.union(세트1, 세트2)|두 세트의 합집합set.intersection(세트1, 세트2)&두 세트의 교집합set.difference(세트1, 세트2)-두 세트의 차집합set.symmetric_difference(세트1, 세트2)^두 세트의 대칭차집합update(다른세트)|=현재 세트에 다른 세트를 더함intersection_update(다른세트)&=현재 세트와 다른 세트 중에서 겹치는 요소만 현재 세트에 저장difference_update(다른세트)-=현재 세트에서 다른 세트를 뺌symmetric_difference_update(다른세트)^=현재 세트와 다른 세트 중에서 겹치지 않는 요소만 현재 세트에 저장issubset(다른세트)현재 세트가 다른 세트의 부분집합인지 확인 .. 2026. 1. 24.
딕셔너리 응용하기 메서드설명setdefault(키, 기본값)딕셔너리에 키-값 쌍을 추가, 키만 지정하면 값에 None을 저장update(키=값)딕셔너리에서 키의 값을 수정, 딕셔너리에 키가 없으면 키-값 쌍을 추가update(딕셔너리) update(리스트) update(튜플) update(반복가능한객체) pop(키)딕셔너리에서 특정 키-값 쌍을 삭제한 뒤 값을 반환, del 딕셔너리[키]와 같음pop(키, 기본값)기본값을 지정하면 키가 없을 때 기본 값을 반환popitem()딕셔너리에서 임의의 키-값 쌍을 삭제하고 해당 키-값 쌍을 튜플로 반환clear()딕셔너리의 모든 키-값 쌍을 삭제get(키)딕셔너리에서 특정 키의 값을 가져옴get(키, 기본값)기본값을 지정하면 키가 없을 때 기본값을 반환items()items는 딕.. 2026. 1. 24.
문자열 포매팅 문자열 서식 지정자와 포매팅 사용하기1. 서식 지정자1) 서식 지정자로 문자열 넣기'%s' % '문자열'서식 지정자는 %로 시작하고 자료형을 뜻하는 문자가 붙습니다.>>> 'I am %s.' % 'james''I am james.' >>> name = 'maria'>>> 'I am %s.' % name'I am maria.' 2) 서식 지정자로 숫자 넣기'%d' % 숫자>>> 'I am %d years old.' % 20'I am 20 years old.' 식 지정자로 소수점 표현하기'%f' % 숫자>>> '%f' % 2.3'2.300000'%f는 기본적으로 소수점 이하 6자리까지 표시하므로 2.3은 2.300000으로 표시됩니다.'%.자릿수f' % 숫자>>> '%.2f' % 2.3'2.30'>>> '%.. 2026. 1. 24.
문자열 method 기능명령어예제문자열 바꾸기replace('바꿀문자열', '새문자열')>>> 'Hello, world!'.replace('world', 'Python')'Hello, Python!'  >>> s = 'Hello, world!'>>> s = s.replace('world!', 'Python')>>> s'Hello, Python'문자 바꾸기규칙table = str.maketrans('기존문자','변경문자')대상문자열.translate(규칙table)>>> table = str.maketrans('aeiou', '12345')>>> 'apple'.translate(table)'1ppl2'문자열 분리하기split()>>> 'apple pear grape pineapple orange'.split()['apple'.. 2026. 1. 24.
2차원 리스트의 할당과 복사 알아보기 2차원 리스트의 할당과 복사 알아보기리스트를 다른 변수에 할당해도 변수 이름만 달라질 뿐 같은 리스트(객체)라고 했죠?2차원 리스트도 마찬가지입니다.다음과 같이 2차원 리스트를 만든 뒤 다른 변수에 할당하고, 요소를 변경해보면 두 리스트에 모두 반영됩니다. >>> a = [[10, 20], [30, 40]]>>> b = a>>> b[0][0] = 500>>> a[[500, 20], [30, 40]]>>> b[[500, 20], [30, 40]] 그런데 리스트 a를 copy 메서드로 b에 복사한 뒤 b의 요소를 변경해보면 리스트 a와 b에 모두 반영됩니다.>>> a = [[10, 20], [30, 40]]>>> b = a.copy()>>> b[0][0] = 500>>> a[[500, 20], [30, 40.. 2026. 1. 24.
반복문으로 LIST만들기 이번에는 for 반복문과 append를 활용하여 리스트를 만드는 방법을 알아보겠습니다.for 반복문으로 1차원 리스트 만들기list_create.pya = [] # 빈 리스트 생성 for i in range(10): a.append(0) # append로 요소 추가 print(a)실행 결과[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]for 반복문으로 2차원 리스트 만들기two_dimensional_list_create.pya = [] # 빈 리스트 생성 for i in range(3): line = [] # 안쪽 리스트로 사용할 빈 리스트 생성 for j in range(2): line.append(0) # 안쪽 리스트에.. 2026. 1. 24.
2차원 리스트 2차원 리스트가로×세로 형태로 이루어져 있으며 행(row)과 열(column) 모두 0부터 시작합니다.1. 2차원 리스트를 만들고 요소에 접근하기2차원 리스트는 리스트 안에 리스트를 넣어서 만들 수 있으며 안쪽의 각 리스트는 ,(콤마)로 구분합니다.리스트 = [[값, 값], [값, 값], [값, 값]] >>> a = [[10, 20], [30, 40], [50, 60]]>>> a[[10, 20], [30, 40], [50, 60]] a = [[10, 20], [30, 40], [50, 60] ] 2. 2차원 리스트의 요소에 접근하기2차원 리스트의 요소에 접근하거나 값을 할당할 때는 리스트 뒤에 [ ](대괄호)를 두 번 사용하며 [ ] 안에 세로(row) 인덱스와 가로(column) 인덱스.. 2026. 1. 24.