본문 바로가기
코딩 어쩌구/자료구조와 알고리즘

[python] 자료구조 : 튜플과 딕셔너리

by annmunju 2021. 10. 5.

튜플

아이템 변경이 불가능한 컨테이너 자료형. (1,2,3) ...

  • 튜플에도 또 다른 컨테이너 자료형 데이터 저장할 수 있다.

1) 튜플 아이템 조회 : 인덱스로 조회. in 과 not in으로 아이템 존재 유무 확인.

2) 튜플 길이 : len()

3) 반복문 조회 : 리스트와 동일

 

튜플 조작

1) 튜플 결합 : '+' 연산만 가능. 수정이 불가능하기 때문에 리스트처럼 extend 형식은 불가능. 두 튜플을 이은 새로운 변수만 생성 가능.

2) 튜플 슬라이싱 : 리스트와 동일. 다만 변경은 불가능함.

3) 아이템 정렬 : 수정 불가능하기 때문에 리스트로 변환 후 정렬할 수 있음. list( ) -> sort( ) -> tuple( )

sorted( ) : 튜플을 리스트로 변환시킨 후 정렬시키는 함수. 리스트로 변환된 상태로 남아 있음.

 

리스트와 튜플

  • 튜플 : 아이템 추가 / 변경 / 삭제 불가. | 튜플 선언 시 () 생략 가능. tp = a, b, c, ...
  • 리스트 : 아이템 추가 / 변경 / 삭제 가능. | 리스트 선언 시 [] 무조건 있어야 함.

* 자료형 변환 가능. tuple(리스트 변수명) | list(튜플 변수명)

 


 

딕셔너리

키, 값을 이용해 자료를 관리한다. {'a1':1, 'a2':2, ... 'an':n}

  • 키는 중복 X. 값은 중복할 수 있음.
  • 키와 값으로는 [ ] , ( ), { } 다양한 자료형(자료구조)이 올 수 있음.

* 단, 키에는 수정 불가능한 형태만 올 수 있음. immutable. (튜플, 문자, 숫자 등)

 

딕셔너리 조작

1) 딕셔너리 조회

  • 키를 이용해 값을 조회할 수 있음 (키가 없을 시 에러 발생) : dic[키]

* 딕셔너리이름.keys() : 키만 가져올 수 있는 함수. type은 dict_keys

* 딕셔너리이름.items() : 아이템을 튜플 형식으로 가져올 수 있는 함수. type은 dict_item

* 딕셔너리이름.values() : 값만 가져올 수 있는 함수. type은 dict_values

  • 딕셔너리이름.get(키) >> 값 : 없는 키 값을 넣었을 때 값이 None 으로 출력됨.

# 각각 함수로 추출한 키, 값, 아이템들을 list 형식으로 변환해서 수정할 수 있음. ## for문을 이용해서 조회할 수도 있음. for key in dic.keys(): print(f'{key} : {dic[key]}')

- in, not in은 키의 존재 유무를 판단함.

- len() : 아이템 갯수

 

2) 딕셔너리 추가

딕셔너리이름[키] = '값' : 이런식으로 추가해나가기. 키값이 중복되는 것을 새로 등록할 때는 업데이트(값이 변경되는) 역할을 함.

 

3) 딕셔너리 수정

기존에 있던 키 -> 다시 딕셔너리이름[키] = '새로운 값' 으로 추가하듯이 등록하면 수정됨.

 

4) 딕셔너리 삭제

(1) del 딕셔너리이름[키] : 키에 해당하는 내용이 삭제됨.

(2) 딕셔너리이름.pop(키) : 키에 해당하는 내용 삭제됨. >> 함수이기 때문에 특정 변수에 저장해둘 수 있음.

(3) 딕셔너리이름.clear() : 딕셔너리 안 내용 전부 삭제. {} 만 남음.

728x90