데이터 분석 11일차 (파이썬 7일) 파이썬 종합반 2주차
1. 튜플
변경 불가능(Immutable) 한 자료형으로, 리스트와 유사하지만 요소를 변경할 수 없다.
- 소괄호 ()를 사용하여 정의하며, 요소를 쉼표 ,로 구분함
| 번호 | 설명 | 코드 | 출력 |
|---|
| 1 | 튜플 생성 | my_tuple = (1, 2, 3, 4, 5) | (1, 2, 3, 4, 5) |
| 2 | 인덱싱 (첫 번째 요소) | my_tuple[0] | 1 |
| 3 | 인덱싱 (마지막 요소) | my_tuple[-1] | 5 |
| 4 | 슬라이싱 (일부분 추출) | my_tuple[1:4] | (2, 3, 4) |
| 5 | 슬라이싱 (처음부터 일부 추출) | my_tuple[:3] | (1, 2, 3) |
| 6 | 슬라이싱 (끝까지 일부 추출) | my_tuple[2:] | (3, 4, 5) |
| 7 | 슬라이싱 (간격 설정) | my_tuple[::2] | (1, 3, 5) |
| 8 | 튜플을 거꾸로 뒤집기 | my_tuple[::-1] | (5, 4, 3, 2, 1) |
1) 튜플에서 자주 사용되는 메서드
- count(): 지정된 요소의 개수를 반환
- index(): 지정된 요소의 인덱스를 반환
| 번호 | 메서드 | 설명 | 코드 | 출력 |
|---|
| 1 | count() | 특정 요소가 튜플 내에서 몇 번 등장하는지 반환 | my_tuple.count(1) | 2 |
| 2 | index() | 특정 요소가 처음 등장하는 인덱스를 반환 | my_tuple.index(3) | 2 |
2) 튜플의 특성
tuple1 = (1, 2, 3)
tuple2 = ('a', 'b', 'c')
| 번호 | 연산 | 설명 | 코드 | 출력 |
|---|
| 1 | + | 두 개의 튜플을 합치기 | tuple1 + tuple2 | (1, 2, 3, 'a', 'b', 'c') |
| 2 | * | 튜플을 반복하기 | tuple1 * 3 | (1, 2, 3, 1, 2, 3, 1, 2, 3) |
💡수정 하고 싶다면 튜플을 리스트로 변경후 수정!
my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
print(my_list)
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple)
2. 딕셔너리
- 키(Key)와 값(Value) 쌍으로 이루어진 데이터 구조
- 중괄호 {}를 사용하며, key: value 형태로 데이터를 저장 한다.
- 변경 가능(Mutable): 리스트처럼 값을 변경할 수 있음.
- 키(Key)는 고유해야 함: 중복된 키는 허용되지 않음
📌딕셔너리 주요 기능 및 예제 정리
| 번호 | 기능 | 코드 | 출력 | 설명 |
|---|
| 1 | 딕셔너리 생성 | my_dict = {'name': 'Alice', 'age': 25} | {'name': 'Alice', 'age': 25} | 키-값 쌍으로 구성된 딕셔너리 생성 |
| 2 | 값 가져오기 ([] 연산) | my_dict['name'] | 'Alice' | 키가 존재하면 해당 값을 반환 (키 없으면 오류 발생) |
| 3 | 값 가져오기 (get()) | my_dict.get('age') | 25 | 키가 존재하면 해당 값을 반환 |
| 4 | 값 가져오기 (get() + 기본값) | my_dict.get('city', 'Unknown') | 'Unknown' | 키가 없을 때 기본값 반환 (오류 발생 X) |
| 5 | 키 추가 또는 수정 | my_dict['city'] = 'Seoul' | {'name': 'Alice', 'age': 25, 'city': 'Seoul'} | 키가 없으면 추가, 있으면 수정 |
| 6 | 키 삭제 (del) | del my_dict['age'] | {'name': 'Alice', 'city': 'Seoul'} | 특정 키와 값 삭제 |
| 7 | keys() (모든 키 반환) | my_dict.keys() | dict_keys(['name', 'city']) | 딕셔너리의 키 목록 반환 |
| 8 | values() (모든 값 반환) | my_dict.values() | dict_values(['Alice', 'Seoul']) | 딕셔너리의 값 목록 반환 |
| 9 | items() (키-값 쌍 반환) | my_dict.items() | dict_items([('name', 'Alice'), ('city', 'Seoul')]) | 키-값 쌍을 튜플 형태로 반환 |
| 10 | pop() (키로 값 제거 후 반환) | my_dict.pop('name') | 'Alice' (제거 후 {'city': 'Seoul'}) | 특정 키를 삭제하고 값을 반환 |
| 11 | popitem() (마지막 키-값 제거 후 반환) | my_dict.popitem() | ('city', 'Seoul') (제거 후 {'name': 'Alice'}) | 마지막으로 추가된 키-값 쌍 제거 |
| 12 | update() (다른 딕셔너리 병합) | my_dict.update({'country': 'Korea'}) | {'name': 'Alice', 'city': 'Seoul', 'country': 'Korea'} | 기존 딕셔너리에 새로운 키-값 추가 또는 수정 |
| 13 | clear() (전체 삭제) | my_dict.clear() | {} (빈 딕셔너리) | 모든 요소 삭제 |
💡 get() 메서드는 인덱싱과 비슷함!