코딩하는 타코야끼

[스터디 노트] Week3_4일차 [unit23 ~ 38] - 자료구조 본문

zero-base 데이터 취업 스쿨/스터디 노트

[스터디 노트] Week3_4일차 [unit23 ~ 38] - 자료구조

가스오부시 2023. 7. 23. 02:03
728x90
반응형

1. 자료구조_5 ~ 6 [unit 23 ~ 26]


📍 튜플(Tuple)

  • 리스트(List)와 비슷하지만 수정, 삭제  변경이 불가하다.
  • ( )’를 이용해서 선언하고, 데이터 구분은 ‘ , ’를 이용한다.
    • 숫자, 문자(열), 논리형 등 모든 기본 데이터를 같이 저장할 수 있다.
  • 튜플도 리스트와 마찬가지로 value에 자동으로 부여되는 idx가 있다.

📍 튜플 길이

  • 리스트와 마찬가지로, 튜플에 저장된 아이템 개수를 튜플 길이라고 한다.
  • len( )과 반복문을 이용하면 튜플의 아이템 조회가 가능하다.

📍 튜플 결합

  • " + " 두 개의 튜플을 결합할 수 있다.
  • 리스트에서 사용할 수 있는 extend( )함수를 튜플에서는 사용할 수 없다.

📍 튜플 슬라이싱

  • 리스트와 마찬가지로 [n:m]을 이용하면 리스트에서 원하는 아이템만 뽑아낼 수 있다.
  • 튜플은 슬라이싱을 이용해서 아이템을 변경할 수 없다.

📍 slice( )

  • slice( )함수를 이용해서 아이템을 슬라이싱할 수 있다.

📍 리스트와 튜플

  • 튜플은 리스트와 달리 아이템 추가, 변경, 삭제가 불가하다.
  • 튜플은 선언 시 괄호 생략이 가능하다
number = 1, 2, 3, 4
print(type(number))
>>>
<class 'tuple'>
number = list(number)
print(type(number))
>>>
<class 'list'>

📍 튜플 아이템 정렬

  • 튜플은 수정이 불가하기 때문에 리스트로 변환 후 정렬하자.
number = 1, 4, 5, 3, 2
number = list(number) # 리스트 타입 변환
number.sort()         # 오름차순 정렬
number = tuple(number)# 튜플 타입 변환
print(number)         # 출력
print(type(number))
>>>
(1, 2, 3, 4, 5)
<class 'tuple'>

2. 자료구조_7 ~ 9 [unit 27 ~ 38


📍 딕셔너리

  • 키(key)와 값(value)를 이용해서 자료를 관리한다.
  • { }’를 이용해서 선언하고, ’키:값’의 형태로 아이템을 정의한다
    • key와 value에는 숫자, 문자(열), 논리형 뿐만 아니라 컨테이너 자료형도 올수 있다.
    • 단, key에 immutable 값은 올수 있지만 mutable 값은 올수 없다.

📍 딕셔너리 조회

  • 딕셔너리는 키(key)를 이용해서 값(value)을 조회한다.
  • 존재하지 않는 키를 이용한 조회 시 에러(error) 발생한다.
info = {
    "1": "호랑이",
    "2": "기린",
    "3": "토끼",
    "4": "다람쥐"
}
info["2"]
>>>
'기린'
  • get(key)를 이용해서 값(value)을 조회 할 수 있다.
  • get( )은 key가 없어도 에러가 발생하지 않는다.
info.get("3")
>>>
'토끼'

📍 딕셔너리 추가

  • ‘딕셔너리이름[키(key)] = 값(value)’ 형태로 아이템을 추가한다.
  • 추가 하려는 키가 이미 있다면 기존 값이 변경된다
info["5"] = "사자"
print(info)
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}

📍 keys( )

  • 딕셔너리의 전체 key 값을 조회할 수 있다
info.keys()
>>>
dict_keys(['1', '2', '3', '4', '5'])
for key in info.keys():
    print(f"{key}: {info[key]}")
>>>
1: 호랑이
2: 기린
3: 토끼
4: 다람쥐
5: 사자

📍 values( )

  • 딕셔너리의 전체 value 값을 조회할수 있다.
info.values()
>>>
dict_values(['호랑이', '기린', '토끼', '다람쥐', '사자'])

📍 items( )

  • 딕셔너리의 전체 item 값을 조회할 수 있다.
info.items()
>>>
dict_items([('1', '호랑이'), ('2', '기린'), ('3', '토끼'), ('4', '다람쥐'), ('5', '사자')])

📍 딕셔너리 삭제

  • del과 key를 이용한 item 삭제
print(info)
del info["5"]
print(info)
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐'}
  • pop( )와 key를 이용한 item 삭제
print(info)
info.pop("5")
print(info)
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐'}

📍 in, not in

  • 키(key) 존재 유/무 판단 한다.
print(info)
print("3" in info)
print("3" not in info)
print("6" not in info)
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}
True
False
True

📍 len( )

  • 딕셔너리 길이(아이템 개수) 를 알 수 있다.
print(info)
print(len(info))
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}
5

📍 clear( )

  • 모든 아이템을 삭제 한다.
print(info)
info.clear()
print(info)
>>>
{'1': '호랑이', '2': '기린', '3': '토끼', '4': '다람쥐', '5': '사자'}
{}
반응형