IMCAT.DEV
로그인 가입
Python 중급 자료구조

Python 컬렉션 (Collections) 활용

Python 컬렉션 (Collections) 활용 — 중급

컬렉션 (Collections) 활용

1. 도입 (왜 배워야 하는가)

컬렉션은 데이터를 효율적으로 저장하고 관리하는 데 필수적인 도구입니다. 실무에서는 대량의 데이터를 처리하거나 여러 데이터를 그룹으로 묶어야 하는 경우가 많습니다. 예를 들어, 쇼핑몰에서는 고객의 장바구니에 담긴 상품들을 관리하기 위해 여러 개의 데이터를 한곳에 모아야 합니다. 컬렉션을 모르면 데이터의 관리와 처리가 비효율적이 되어 코드의 가독성이 떨어지고, 유지보수 비용이 증가할 수 있습니다.

2. 핵심 개념 설명

컬렉션은 여러 데이터를 저장할 수 있는 데이터 구조를 말합니다. Python에서 가장 많이 사용되는 컬렉션은 list, tuple, set, dict입니다. 각각의 특징을 살펴보겠습니다.

컬렉션 타입설명사용 예시
list순서가 있는 변경 가능한 집합[1, 2, 3]
tuple순서가 있는 변경 불가능한 집합(1, 2, 3)
set순서가 없고 중복이 없는 집합{1, 2, 3}
dict키-값 쌍으로 이루어진 집합{'a': 1, 'b': 2}

비유하자면, list는 장바구니, tuple은 봉인된 상자, set은 친구 목록, dict는 주소록이라고 할 수 있습니다. 각각의 상황에서 데이터의 필요성과 사용 방식이 다릅니다.

3. 기본 코드 예제

여기서는 list와 dict의 기본적인 사용법을 살펴보겠습니다.

리스트 예제

# 리스트 생성
shopping_cart = ['사과', '바나나', '오렌지']

# 리스트에 아이템 추가
shopping_cart.append('포도')

# 리스트 출력
print(shopping_cart)
  • 실행 결과: ['사과', '바나나', '오렌지', '포도']
  • 동작 설명:
  • 1. shopping_cart라는 리스트를 생성하여 초기 아이템을 넣는다. 2. append() 메서드를 사용해 '포도'를 리스트에 추가한다. 3. print() 함수를 통해 리스트의 현재 상태를 출력한다.

    딕셔너리 예제

    # 딕셔너리 생성
    user_info = {'이름': '홍길동', '나이': 30}
    
    # 값 수정
    user_info['나이'] = 31
    
    # 딕셔너리 출력
    print(user_info)
  • 실행 결과: {'이름': '홍길동', '나이': 31}
  • 동작 설명:
  • 1. user_info라는 딕셔너리를 생성하고, 이름과 나이를 키-값 쌍으로 설정한다. 2. '나이' 키에 해당하는 값을 31로 수정한다. 3. print() 함수를 통해 딕셔너리의 현재 상태를 출력한다.

    4. 실전 활용 예제

    예제 1: 쇼핑몰 장바구니 구현

    shopping_cart = []
    
    # 상품 추가
    def add_to_cart(item):
        shopping_cart.append(item)
        print(f"{item}가 장바구니에 추가되었습니다.")
    
    add_to_cart('사과')
    add_to_cart('바나나')
    print(shopping_cart)
  • 상황 설명: 고객이 장바구니에 상품을 추가하는 기능으로, 쇼핑몰에서 자주 사용되는 패턴입니다.
  • 예제 2: 사용자 정보 관리

    users = {}
    
    # 사용자 추가
    def add_user(username, age):
        users[username] = age
        print(f"{username}가 추가되었습니다.")
    
    add_user('홍길동', 30)
    add_user('김철수', 25)
    print(users)
  • 상황 설명: 여러 사용자의 정보를 관리하기 위한 딕셔너리 사용 예시입니다. 사용자 이름을 키로, 나이를 값으로 사용하여 효율적으로 관리합니다.
  • 5. 흔한 실수와 주의사항

    실수 1: 리스트의 인덱스 범위 초과

    # 잘못된 코드
    shopping_cart = ['사과', '바나나']
    print(shopping_cart[2])  # IndexError
  • 주의사항: 리스트의 인덱스는 0부터 시작하므로, 범위를 초과하면 오류가 발생합니다.
  • 실수 2: 딕셔너리의 키가 존재하지 않음

    # 잘못된 코드
    user_info = {'이름': '홍길동'}
    print(user_info['나이'])  # KeyError
  • 주의사항: 존재하지 않는 키에 접근하려고 하면 오류가 발생합니다. 항상 키가 존재하는지 확인해야 합니다.
  • 6. 정리

  • 컬렉션은 데이터를 효율적으로 관리하기 위해 필수적이다.
  • list, tuple, set, dict의 기본 개념과 사용법을 이해해야 한다.
  • 실무에서 자주 사용되는 패턴을 익히고, 실수를 피하는 방법을 알아야 한다.
  • 다음에 학습하면 좋은 주제: 리스트 컴프리헨션, 제너레이터, 데이터베이스 연동