-
Python 튜토리얼 02 문자열과 리스트Study/Python 튜토리얼 2025. 9. 22. 10:10

목차
- 들어가며: 문자열과 리스트, 데이터 처리의 시작
- 문자열 심화: 더 자유롭게 다루기
- 여러 데이터를 한 번에! 리스트 (List)
- 마치며: 오늘의 핵심 정리
들어가며: 문자열과 리스트, 데이터 처리의 시작
안녕하세요! 파이썬 데이터 처리의 세계에 오신 것을 환영합니다.
오늘은 파이썬에서 가장 기본적이면서도 강력한 데이터 타입인 문자열(String)과 리스트(List)를 자유자재로 다루는 방법에 대해 알아보겠습니다. 이 두 가지만 잘 다루어도 대부분의 데이터를 원하는 형태로 가공할 수 있습니다.
1. 문자열 심화: 더 자유롭게 다루기
문자열은 단순히 글자의 나열이 아닙니다. 파이썬에서는 문자열을 더하고, 곱하고, 변형하는 등 다채로운 기능을 제공합니다.
1-1. 문자열 연산
문자열은 + 연산자로 이어 붙이거나, * 연산자로 반복할 수 있습니다
# 문자열 합치기 print("3" + "4") # 결과: 34 # 문자열 반복 print("Hi" * 3) # 결과: HiHiHi print("-" * 80) # 결과: -------------------------------------------------------------------------------- # 응용: 여러 문자열 조합 후 반복 t1 = "python" t2 = "java" combined = t1 + " " + t2 + " " print(combined * 4) # 결과: python java python java python java python java1-2. 변수를 포함한 문자열 출력 (포매팅)
문자열 안에 변수 값을 넣어 출력하는 세 가지 주요 방법입니다.
name1 = "김민수" age1 = 10 name2 = "이철희" age2 = 13 # %-포매팅 print("이름: %s 나이: %d" % (name1, age1)) # 결과: 이름: 김민수 나이: 10 # .format() 메서드 print("이름: {} 나이: {}".format(name2, age2)) # 결과: 이름: 이철희 나이: 13 # f-string (가장 직관적이고 추천하는 방식) print(f"이름: {name1} 나이: {age1}") # 결과: 이름: 김민수 나이: 101-3. 문자열 가공 및 정리 메서드
문자열은 자체적으로 데이터를 정리하고 변형하는 유용한 기능(메서드)들을 가지고 있습니다.
# replace: 특정 문자를 다른 문자로 교체 상장주식수 = "5,969,782,550" 컴마제거 = 상장주식수.replace(",", "") 타입변환 = int(컴마제거) print(타입변환, type(타입변환)) # 결과: 5969782550 <class 'int'> # strip: 양쪽의 불필요한 공백 제거 data = " 삼성전자 " print(data.strip()) # 결과: 삼성전자 # upper/lower/capitalize: 대소문자 변경 ticker = "btc_krw" print(ticker.upper()) # 결과: BTC_KRW print("BTC_KRW".lower()) # 결과: btc_krw print("hello".capitalize()) # 결과: Hello # split: 특정 기호를 기준으로 문자열을 분리 (결과는 리스트) a = "hello world" print(a.split()) # 결과: ['hello', 'world'] ticker = "btc_krw" print(ticker.split("_")) # 결과: ['btc', 'krw']1-4. 문자열 확인 메서드
특정 패턴으로 문자열이 시작하거나 끝나는지 논리값(True/False)으로 확인할 수 있습니다.
# startswith: 특정 문자열로 시작하는지 확인 file_name = "2020_보고서.xlsx" print(file_name.startswith("2020")) # 결과: True # endswith: 특정 문자열로 끝나는지 확인 file_name = "보고서.xlsx" print(file_name.endswith("xlsx")) # 결과: True print(file_name.endswith(("xlsx", "xls"))) # 결과: True1-5. 원하는 부분만 선택하기 (인덱싱과 슬라이싱)
문자열의 각 글자는 고유한 번호(인덱스)를 가집니다. 이를 이용해 원하는 부분만 잘라낼 수 있습니다.
Python# 슬라이싱: 특정 범위의 문자열 잘라내기 분기 = "2020/03(E) (IFRS연결)" print(분기[:7]) # 결과: 2020/03 license_plate = "24가 2210" print(license_plate[-4:]) # 결과: 2210 # 슬라이싱 응용: 건너뛰거나 뒤집기 string = "홀짝홀짝홀짝" print(string[::2]) # 결과: 홀홀홀 string = "PYTHON" print(string[::-1]) # 결과: NOHTYP
2. 여러 데이터를 한 번에! 리스트 (List)
리스트는 여러 종류의 데이터를 하나의 변수에 순서대로 담아 관리할 수 있는 자료구조입니다.
2-1. 리스트 생성, 추가, 삽입, 삭제
리스트는 대괄호 []로 생성하며, append, insert, del 키워드로 데이터를 관리합니다.
# 리스트 생성 movie_rank = ["닥터 스트레인지", "스플릿", "럭키"] # append: 리스트 맨 뒤에 원소 추가 movie_rank.append("배트맨") print(movie_rank) # 결과: ['닥터 스트레인지', '스플릿', '럭키', '배트맨'] # insert: 원하는 위치(1번 인덱스)에 원소 삽입 movie_rank.insert(1, "슈퍼맨") print(movie_rank) # 결과: ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨'] # del: 특정 위치(3번 인덱스)의 원소 삭제 del movie_rank[3] print(movie_rank) # 결과: ['닥터 스트레İNİ', '슈퍼맨', '스플릿', '배트맨']2-2. 리스트 연산 및 기본 함수
리스트끼리 더하거나, 숫자 리스트의 경우 다양한 계산 함수를 적용할 수 있습니다.
# 리스트 합치기 lang1 = ["C", "C++", "JAVA"] lang2 = ["Python", "Go", "C#"] print(lang1 + lang2) # 결과: ['C', 'C++', 'JAVA', 'Python', 'Go', 'C#'] # 숫자 리스트 기본 함수 nums = [1, 2, 3, 4, 5, 6, 7] print("max:", max(nums)) # 결과: max: 7 print("min:", min(nums)) # 결과: min: 1 print("sum:", sum(nums)) # 결과: sum: 28 print("len:", len(nums)) # 결과: len: 7 print("avg:", sum(nums) / len(nums)) # 결과: avg: 4.02-3. 리스트와 문자열 변환 (join과 split)
join 메서드는 리스트를 하나의 문자열로, split 메서드는 문자열을 리스트로 변환하는 핵심 기능입니다.
# join: 리스트의 원소들을 특정 구분자로 합쳐 문자열로 생성 interest = ["삼성전자", "LG전자", "Naver"] print(" ".join(interest)) # 결과: 삼성전자 LG전자 Naver print("/".join(interest)) # 결과: 삼성전자/LG전자/Naver print("\n".join(interest)) # 결과: # 삼성전자 # LG전자 # Naver # split: (위에서 설명) string = "삼성전자/LG전자/Naver" interest_list = string.split("/") print(interest_list) # 결과: ['삼성전자', 'LG전자', 'Naver']2-4. 리스트 정렬
sort 메서드는 리스트의 원본 데이터를 직접 정렬합니다.
data = [2, 4, 3, 1, 5, 10, 9] data.sort() print(data) # 결과: [1, 2, 3, 4, 5, 9, 10]
마치며: 오늘의 핵심 정리
- 문자열: +, * 연산이 가능하며, replace, strip, split 등 다양한 메서드로 데이터를 가공할 수 있습니다.
- 리스트: []로 생성하며, append, insert, del로 데이터를 관리합니다. sum, len 등 유용한 함수를 사용할 수 있습니다.
- join과 split: 리스트와 문자열을 자유롭게 변환하는 필수적인 기능입니다.
- 슬라이싱: 문자열과 리스트 모두 [시작:끝:간격] 형식으로 원하는 부분만 효율적으로 추출할 수 있습니다.
출처:
03. 파이썬 문자열
파이썬 문자열은 인덱싱, 슬라이싱 기능과 다양한 메서드를 제공합니다.
wikidocs.net
04. 파이썬 리스트
조금 더 자세한 설명을 원한다면 클래스101의 "Level2 중급 파이썬"을 추천합니다. 고급 문법을 아는 것이 고급 실력을 의미하지 않습니다. "Level1 기초 파이썬"부터 …
wikidocs.net
'Study > Python 튜토리얼' 카테고리의 다른 글
Python 튜토리얼 06 함수 (0) 2025.09.26 Python 튜토리얼 05 반복문 (0) 2025.09.25 Python 튜토리얼 04 분기문 (0) 2025.09.24 Python 튜토리얼 03 튜플과 딕셔너리 (0) 2025.09.23 Python 튜토리얼 01 변수와 문자열 (0) 2025.09.21