17_자료구조(3)

ryu·2023년 5월 23일
0

튜플

튜플의 정렬

  • 튜플은 정렬이 불가능
  • 따라서 리스트로 변환 후 정렬하고 다시 튜플로 변환해야 함

sorted() 함수

  • sorted() 함수를 이용하여 정렬이 가능하지만 이 때 반환되는 자료형은 list임]

튜플 아이템 조회

  • for문을 이용하여 튜플아이템을 자동으로 참조할 수 있음
  • while문을 이용해서도 다양한 방법으로 아이템 조회가 가능
    • 인덱스를 나타내는 변수 사용, flag 변수 사용, 조건문 등등

딕셔너리

딕셔너리란?

  • 키(key)와 값(value)를 이용하여 자료를 관리하는 자료구조

딕셔너리의 선언

  • { }를 이용하여 선언하고, 키: 값 형태로 아이템을 정의
    • ex) students = {'s1': '홍길동', 's2': '박찬호'}
  • key와 value에는 숫자, 문자(열), 논리형 뿐만 아니라 컨테이너 자료형도 올 수 있음
  • 단 key에는 immutable 값만 올 수 있고 mutable값은 올 수 없음

딕셔너리 조회

  • 딕셔너리는 key를 이용하여 value를 조회

    students = {'s1': '홍길동', 's2': '박찬호'}
    print(students['s1'])	# 홍길동
    print(students['s3'])	# KeyError
  • get()을 이용해서도 조회가 가능

    • 이 경우에는 key가 없어도 에러가 발생하지 않고 대신 None을 반환

딕셔너리 추가

  • 딕셔너리[key] = value 형태로 아이템을 추가

    students = {'s1': '홍길동', 's2': '박찬호'}
    students['s3'] = '강호동'
    print(students)	# {'s1': '홍길동', 's2': '박찬호', 's3': '강호동'}
  • key가 이미 존재한다면 기존 값이 변경됨

keys()와 values()

  • 전체 key와 value를 조회할 수 있음

    students = {'s1': '홍길동', 's2': '박찬호'}
    ks = students.keys()
    vs = students.values()
  • 리스트 등 자료형 변환 가능

  • for문을 이용하여 순회 가능

딕셔너리 삭제(del)

  • delkey를 이용하여 아이템 삭제
    • del studnets['s1']
  • pop(key)과 key를 이용한 아이템 삭제
    • key가 없다면 KeyErro 발생
    • del과 달리 삭제한 아이템의 value를 반환

in, not in

  • key의 존재 유/무를 판단

len()

  • 딕셔너리의 길이를 알 수 있음

clear()

  • 모든 아이템을 삭제

0개의 댓글