1. 문자열(String)
문자열은 문자나 문장을 표현하는 자료형이에요. 작은 따옴표(')나 큰 따옴표(")로 감싸서 만듭니다.
1-1. 문자열 기본 사용법
greeting = "Hello, Python!"
print(greeting) # 출력: Hello, Python!
1-2. 인덱싱 (Indexing)
문자열은 글자마다 번호(인덱스)가 있어요.
- 인덱스는 0부터 시작합니다.
- 뒤에서부터는 음수 인덱스를 사용해요.
예시
text = "Python"
print(text[0]) # 출력: 'P' (첫 번째 글자)
print(text[-1]) # 출력: 'n' (마지막 글자)
1-3. 슬라이싱 (Slicing)
문자열의 일부분을 가져오는 방법이에요.
문법: 문자열[시작:끝]
- 끝은 포함되지 않습니다.
예시
text = "Hello, Python!"
print(text[0:5]) # 출력: 'Hello'
print(text[7:]) # 출력: 'Python!'
print(text[:5]) # 출력: 'Hello'
1-4. 문자열은 불변 (Immutable)
문자열은 직접 수정할 수 없어요.
새로운 문자열을 만들어야 합니다.
예시
text = "Python"
# text[0] = "J" # 오류 발생! 문자열은 수정 불가
text = "J" + text[1:] # 새로운 문자열 생성
print(text) # 출력: 'Jython'
1-5. 문자열 찾기 (find())
문자열에서 특정 문자가 어디에 있는지 위치를 알려줍니다.
찾는 문자가 없으면 -1을 반환합니다.
예시
text = "I love Python!"
print(text.find("love")) # 출력: 2
print(text.find("Java")) # 출력: -1 (찾을 수 없음)
1-6. 문자열 나누기 (split())
문자열을 특정 기준으로 잘라서 리스트로 변환합니다.
예시
sentence = "apple, banana, cherry"
fruits = sentence.split(", ") # 쉼표+공백으로 나눔
print(fruits) # 출력: ['apple', 'banana', 'cherry']
1-7. 문자열을 리스트로 변환
방법 1: 문자 단위로 나누기
text = "Python"
chars = list(text)
print(chars) # 출력: ['P', 'y', 't', 'h', 'o', 'n']
방법 2: 특정 기준으로 나누기
sentence = "I love Python"
words = sentence.split() # 공백 기준으로 나눔
print(words) # 출력: ['I', 'love', 'Python']
2. 리스트(List)
리스트는 여러 데이터를 묶어서 저장할 수 있는 자료형이에요.
대괄호 [ ]로 묶으며, 각 데이터를 **요소(Element)**라고 합니다.
2-1. 리스트 기본 사용법
numbers = [1, 2, 3]
fruits = ["apple", "banana", "cherry"]
print(numbers) # 출력: [1, 2, 3]
2-2. 인덱싱과 슬라이싱
인덱싱
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # 출력: 'apple' (첫 번째 요소)
print(fruits[-1]) # 출력: 'cherry' (마지막 요소)
슬라이싱
print(fruits[0:2]) # 출력: ['apple', 'banana']
print(fruits[1:]) # 출력: ['banana', 'cherry']
2-3. 리스트 수정
리스트는 수정 가능합니다. 인덱스를 사용해 값을 바꿀 수 있어요.
예시
fruits = ["apple", "banana", "cherry"]
fruits[1] = "blueberry" # 두 번째 요소 변경
print(fruits) # 출력: ['apple', 'blueberry', 'cherry']
2-4. 리스트 추가
append(): 리스트의 끝에 요소 추가
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits) # 출력: ['apple', 'banana', 'cherry']
insert(): 특정 위치에 요소 삽입
fruits = ["apple", "cherry"]
fruits.insert(1, "banana") # 1번 인덱스에 'banana' 삽입
print(fruits) # 출력: ['apple', 'banana', 'cherry']
2-5. 리스트 삭제
del: 특정 위치의 요소 삭제
numbers = [1, 2, 3, 4]
del numbers[1] # 두 번째 요소 삭제
print(numbers) # 출력: [1, 3, 4]
pop(): 요소를 제거하고 반환
numbers = [1, 2, 3]
last_item = numbers.pop() # 마지막 요소 제거
print(numbers) # 출력: [1, 2]
print(last_item) # 출력: 3
2-6. 리스트 정렬
오름차순 정렬
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers) # 출력: [1, 2, 5, 9]
내림차순 정렬
numbers.sort(reverse=True)
print(numbers) # 출력: [9, 5, 2, 1]
2-7. 중첩 리스트
리스트 안에 리스트를 포함할 수 있어요.
이를 통해 2차원 배열처럼 사용할 수 있습니다.
예시
matrix = [[1, 2], [3, 4], [5, 6]]
print(matrix[1]) # 출력: [3, 4]
print(matrix[1][0]) # 출력: 3 (두 번째 리스트의 첫 번째 요소)
정리
문법/메서드 설명 예시
list() | 문자열을 글자 단위로 리스트 변환 | list("Python") → ['P', 'y', ...] |
split() | 문자열을 기준으로 나눠 리스트 변환 | "a,b".split(",") → ['a', 'b'] |
append() | 리스트 끝에 요소 추가 | [1].append(2) → [1, 2] |
insert() | 특정 위치에 요소 삽입 | [1, 3].insert(1, 2) → [1, 2, 3] |
del | 특정 위치의 요소 삭제 | del [1, 2][1] → [1] |
pop() | 요소를 제거하고 반환 | [1, 2].pop() → [1] (반환: 2) |
sort() | 리스트 정렬 | [2, 1].sort() → [1, 2] |
이제 문자열과 리스트의 모든 내용이 잘 정리되었어요! 😊
'Python' 카테고리의 다른 글
4.2.2 슬라이싱 (0) | 2024.11.29 |
---|---|
4.2.1. 연습 문제: 아이돌 팬 (1) (1) | 2024.11.29 |
4.1 자료형 (0) | 2024.11.29 |
3.5 람다(lambda) (0) | 2024.11.29 |
3.3 지역변수, 전역변수 (0) | 2024.11.29 |