Learning
레슨 2 / 9·20분

리스트와 딕셔너리

리스트 (List)

리스트는 순서가 있는 변경 가능한(mutable) 데이터 모음입니다. 대괄호 []로 생성하며, 다양한 타입의 요소를 포함할 수 있습니다.

python
# 리스트 생성과 조작
fruits = ["사과", "바나나", "포도"]

fruits.append("딸기")       # 끝에 추가
fruits.insert(1, "오렌지")  # 인덱스 1에 삽입
fruits.remove("바나나")     # 값으로 삭제

print(fruits)  # ['사과', '오렌지', '포도', '딸기']

# 슬라이싱
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4])   # [1, 2, 3]
print(numbers[::2])   # [0, 2, 4] — 2칸 간격
print(numbers[::-1])  # [5, 4, 3, 2, 1, 0] — 뒤집기

# 리스트 컴프리헨션
squares = [x ** 2 for x in range(6)]
print(squares)  # [0, 1, 4, 9, 16, 25]

evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]

딕셔너리 (Dictionary)

딕셔너리는 키-값 쌍으로 이루어진 데이터 구조입니다. 중괄호 {}로 생성하며, 키를 통해 빠르게 값을 조회할 수 있습니다.

python
# 딕셔너리 생성
student = {
    "name": "김철수",
    "age": 20,
    "scores": [90, 85, 92]
}

# 값 접근
print(student["name"])           # 김철수
print(student.get("email", "없음"))  # 없음 (기본값)

# 수정과 추가
student["age"] = 21
student["email"] = "kim@test.com"

# 순회
for key, value in student.items():
    print(f"{key}: {value}")

# 딕셔너리 컴프리헨션
word_lengths = {word: len(word) for word in ["hello", "world", "python"]}
print(word_lengths)  # {'hello': 5, 'world': 5, 'python': 6}
💡

dict.get(key, default)를 사용하면 키가 없을 때 KeyError 대신 기본값을 반환합니다. 안전하게 값을 조회할 때 유용합니다.