인공지능 대학원/자료구조 알고리즘
컬렉션 자료형: 리스트, 튜플, 딕셔너리
열쩡왔쩡
2025. 4. 3. 23:28
1. 컬렉션 자료형: 리스트, 튜플, 딕셔너리
✅ 리스트 (List)
- 가장 많이 사용하는 자료구조 중 하나
- 순서가 있으며, 변경(수정/삭제) 가능하고, 중복 허용
- 대괄호 [] 사용
fruits = ['apple', 'banana', 'cherry']
자주 사용하는 리스트 메서드
메서드 설명 예시
append(item) | 리스트 맨 뒤에 추가 | fruits.append('grape') |
insert(pos, item) | 특정 위치에 추가 | fruits.insert(1, 'orange') |
extend(list) | 리스트에 다른 리스트 확장 | fruits.extend(['kiwi', 'melon']) |
pop([pos]) | 특정 위치(기본 마지막)의 요소 제거 | fruits.pop() |
remove(item) | 특정 값을 가진 첫 번째 항목 제거 | fruits.remove('banana') |
index(item) | 첫 번째 해당 값의 위치 | fruits.index('apple') |
count(item) | 항목 개수 세기 | fruits.count('apple') |
reverse() | 뒤집기 | fruits.reverse() |
sort() | 정렬 (기본 오름차순) | fruits.sort() |
🔸 append vs extend 차이
a = [1, 2]
a.append([3, 4]) # 결과: [1, 2, [3, 4]]
a = [1, 2]
a.extend([3, 4]) # 결과: [1, 2, 3, 4]
리스트 인덱싱과 슬라이싱
x = [10, 20, 30, 40, 50]
x[1:3] # [20, 30] → 종료 인덱스는 -1 해서 멈춤
2. 내장 함수 및 사용자 정의 함수
✅ 내장 함수 예시
- len(list) : 길이 반환
- print() : 출력
- max(), min() : 최댓값, 최솟값
최댓값과 최솟값 한번에 반환:
def get_min_max(lst):
return min(lst), max(lst)
print(get_min_max([3, 1, 5, 2])) # (1, 5)
3. 사용자 정의 함수
def greet():
print("Hello")
greet() # 함수 호출
- 디폴트 인수: 기본값을 설정한 인수
def say_hello(name="Guest"):
print("Hello", name)
- 키워드 인수: 순서 상관없이 인수 이름 지정
say_hello(name="Alice")
4. 변수와 이름공간
✅ 지역변수 vs 전역변수
- 지역변수: 함수 안에서 선언
- 전역변수: 함수 밖에서 선언
x = 10 # 전역변수
def func():
x = 5 # 지역변수
print(x)
func() # 5
print(x) # 10
5. 클래스와 객체지향
✅ 클래스 기본 구조
class Car:
def __init__(self, brand):
self.brand = brand
def drive(self):
print(f"{self.brand} is driving")
my_car = Car("Hyundai")
my_car.drive()
- __init__ : 생성자
- __str__ : 문자열 표현 재정의 가능
def __str__(self):
return f"Car brand: {self.brand}"
6. 상속과 메서드 재정의
class ElectricCar(Car):
def drive(self):
print(f"{self.brand} is driving silently!")
ecar = ElectricCar("Tesla")
ecar.drive() # Tesla is driving silently!
7. 반복문과 리스트 활용
courses = ['Python', 'AI', 'Data']
for course in courses:
print(course)
✅ map 함수 활용
nums = ['1', '2', '3']
nums = list(map(int, nums)) # ['1', '2', '3'] → [1, 2, 3]
8. 2차원 리스트
matrix = [
[1, 2],
[3, 4],
[5, 6]
]
# 한 줄씩 출력
for row in matrix:
print(row)
9. 튜플 (Tuple)
- 한번 입력된 값 변경 불가
t = (1, 2, 3)
10. 딕셔너리 (Dictionary)
- 키-값 쌍으로 구성
person = {"name": "Alice", "age": 25}
print(person["name"]) # Alice
728x90