728x90
반응형
SMALL
파이썬 문자열, 리스트 정리
1. 문자열(str)
문자열 개요
- Python에서 문자열은 sequence 자료형으로 여러 문자의 집합이다.
- 문자열 내 각 문자에 인덱스를 사용하여 접근 가능하며, slicing을 통해 부분 문자열을 추출할 수 있다.
- 문자열은 **반복자(iterator)**가 내장되어 있어, for 문을 통해 쉽게 순회할 수 있다.
문자열 관련 주요 함수 및 메서드
1) enumerate() 함수
- 문자열을 순회하며 index와 value를 튜플로 반환한다.
사용예시 :
text = "hello"
for index, char in enumerate(text):
print(index, char)
2) 문자열 메서드
- Python의 문자열 메서드는 원본 문자열을 직접 변경하지 않고, 변환된 새 문자열을 반환한다.
3) is로 시작하는 메서드
- True 또는 False 값을 반환하는 메서드.
print("abc".isalpha()) # True
print("123".isdigit()) # True
문자열 포맷팅 (문자열 형식 지정)
1) % 연산자를 이용한 포맷팅 (기존 방식)
name = "Alice"
print("Hello, %s" % name)
- %s: 문자열 출력
- %d: 정수 출력
- %f: 실수 출력 (소수점 이하 자릿수 지정 가능)
2) format() 메서드를 이용한 포맷팅 (Python 3 방식)
name = "Alice"
print("Hello, {}".format(name))
print("{:<10} {:>5} {:.2f}".format("Alice", 25, 123.456))
3) f-string (Python 3.8 이상 권장 방식)
name = "Alice"
age = 25
print(f"Hello, {name}. You are {age} years old.")
특수 문자 (Escape Characters)
- \n: 줄 바꿈
- \t: 탭
- \\: 역슬래시 출력
2. 리스트(list)
리스트 개요
- 여러 값을 저장할 수 있는 sequence 자료형.
- 가변(mutable) 자료형으로 요소 변경 가능.
- Python에서 가장 많이 사용되는 자료형 중 하나.
리스트 생성 방법
# 빈 리스트 생성
list1 = []
list2 = list()
리스트 주요 연산
- Indexing: 특정 요소 접근 (list[0])
- Slicing: 리스트의 부분 추출 (list[1:3])
- 길이 계산: len(list)
- 요소 포함 여부 확인: x in list
- 연결: list1 + list2
중첩 리스트 (Nested List)
l = [[1, 2], [3, 4]]
print(l[0]) # [1, 2]
print(l[0][1]) # 2
리스트 관련 주요 메서드
1) 요소 추가
- append(value): 리스트 마지막에 요소 추가
- insert(index, value): 특정 위치에 요소 삽입
2) 요소 변경
l = [10, 20, 30]
l[1] = 99 # 리스트 요소 변경
print(l) # [10, 99, 30]
3) 요소 삭제
- del list[index]
- remove(value): 특정 값을 찾아 삭제 (첫 번째로 발견된 값만 삭제)
- pop(): 마지막 요소를 제거하고 반환
- clear(): 리스트 전체 삭제
4) 리스트 검색 및 정렬
- index(value): 특정 값의 인덱스 반환
- count(value): 특정 값의 개수 반환
- sort(): 리스트 정렬 (기본 오름차순)
- sorted(list): 정렬된 리스트 반환 (원본 유지)
리스트 복사
1) 전체 복사
l1 = [1, 2, 3]
l2 = l1[:] # 슬라이싱을 이용한 복사
l3 = l1.copy() # copy() 메서드를 이용한 복사
l4 = list(l1) # list() 함수를 이용한 복사
2) 얕은 복사 (Shallow Copy)
- 중첩 리스트의 경우, 내부 리스트의 참조값만 복사됨.
import copy
l1 = [[1, 2], [3, 4]]
l2 = copy.copy(l1)
l2[0][0] = 99
print(l1) # [[99, 2], [3, 4]]
3) 깊은 복사 (Deep Copy)
- 내부 리스트까지 완전히 새로운 객체로 복사.
import copy
l1 = [[1, 2], [3, 4]]
l2 = copy.deepcopy(l1)
l2[0][0] = 99
print(l1) # [[1, 2], [3, 4]]
리스트 순회 방법
# 기본 for문 사용
l = [1, 2, 3]
for item in l:
print(item)
# enumerate() 사용
for idx, val in enumerate(l):
print(idx, val)
# zip() 사용
l1 = [1, 2, 3]
l2 = ["a", "b", "c"]
for num, char in zip(l1, l2):
print(num, char)
리스트 내포 (List Comprehension)
- 리스트를 생성하는 간결한 방법.
# 기본 형식
squares = [x ** 2 for x in range(5)]
# 조건을 포함한 형식
evens = [x for x in range(10) if x % 2 == 0]
파이썬 내장 함수 (Built-in Functions)
- sum(list): 리스트 값들의 합
- max(list), min(list): 최댓값/최솟값 반환
- abs(value): 절대값 반환
- round(value, n): 반올림 (소수점 n자리까지)
- divmod(a, b): a를 b로 나눈 몫과 나머지를 튜플로 반환
728x90
반응형
LIST
'개인 공부 > 파이썬' 카테고리의 다른 글
[Python] 파이썬 객체와 클래스 (0) | 2025.03.24 |
---|---|
[Python] 파이썬 Set,함수,모듈 (0) | 2025.03.22 |
[Python] 파이썬 알고리즘 문제해결 과정 및 알고리즘 설계 (0) | 2025.03.19 |
[Python] 파이썬 기초 개념 정리 - 기본 입출력 & 제어문 (0) | 2025.03.18 |
[Python] 파이썬 기초 개념 정리 - 자료형, 변수, 연산자 (0) | 2025.03.17 |