인공지능 대학원/자료구조 알고리즘

컬렉션 자료형: 리스트, 튜플, 딕셔너리

열쩡왔쩡 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