본문 바로가기
Programming/Python

Tuple(튜플)과 Dictionary(딕셔너리)

by 공부합시다홍아 2023. 10. 24.
 

리스트(LIST 02)

리스트(LIST)_01 리스트(LIST)_01 문자열 다루기 문자열 다루기 제어문 - 반복문(for), 탈출문, 무한반복문 제어문 - 반복문(for), 탈출문, 무한반복문 제어문 - 반복문(while) 제어문 - 반복문(while) 제어문

hong-study.tistory.com


튜플(Tuple)
  • Tuple은 리스트와 기능을 같지만, 생성/삭제/수정이 불가하다.
  • Tuple의 이름은 요소1, 요소2, 요소3...으로 표현한다.
  • 속도가 매우 빨라 수정이 필요없을 때 사용하는데, 주로 읽기 전용이라 부른다.
  • 데이터를 수정할 수 없기 때문에 제공되는 함수가 많지 않다.
  • 소괄호 ( ) 를 이용해 선언하지만, 사용을 하지 않아도 된다.


튜플(Tuple)을 사용하는 이유
  1. 비용의 차이
    1. 리스트는 변경의 가능성을 항상 대비해야돼, 더 많은 메모리를 소모한다.
    2. 이에 비해, 튜플은 값이 바뀔 일이 없으므로 단순히 리스트에 비해 속도가 빠르다
  2. 데이터의 안정성
    1. 리스트 같은 경우는 실수로 데이터가 바뀔 위험성이 있지만 튜플은 현저히 적음
  3. 리스트와 튜플은 상호 변경 가능
    1. 값 변경 가능성 여부만 다를 뿐  구조는 유사하기 때문에 상호변경이 가능하다.

튜플 나열하기
points = (87, 23, 43, 56, 30)

for i in points:
    print(i, end=" ")

type(points)


a = 1, 2, 3, 4, 5, 6, 7, 8, 9
print(a)
type(a)
  • 튜플은 ( ) 소괄호를 생략하더라도 사용이 가능하다.

Dictionary ( 딕셔너리 )
  • 키(Key)값(Value)의 쌍으로 구성된 자료 구조
    • key는 고유한 특정을 가진다.
      • 값을 찾거나 변경, 삭제하는 모든 작업이 key로 동작한다.
  • Dictionary를 만들기 위해 중괄호 { }를 이용
  • 키는 중복이 없이 유일한 값이지만, 값(Value)는 수정과 중복이 가능하다.
  • 인덱스를 이용한 데이터의 참조는 지원하지 않는다.
  • Dictionary 키 목록에 없는 데이터를 사용하여 참조하면 에러가 발생한다.
  • 검색에 있어서 매우 빠르다(검색에 특화)

students = {"강아지":"홍길동", "고양이":"김철수", "토끼":"김영희"}

len(students)
print(mydict.keys()) #키를 뽑아서 나열

for i in mydict.keys():
    print(f"키는 {i}, 값은 {mydict[i]}입니다.")
    
print(mydict.values()) # 값을 뽑아서 나열한다.

print(mydict.items()) #키:값을 한번에 뽑아서 나열한다.

for i, j in mydict.items():
    print(i,j)


예제 - 영단어장 만들기

print("영단어장 만들기")
print("-종료하려면 입력창에 '그만'을 입력하세요\n")

eng = {}

while(True):
    word = input("영어단어 : ")
        
    if word == "그만":
        print("종료")
        break
    
    mean = input("뜻 : ")
    eng[word] = mean
    print("단어 입력 완료\n")

print("\n***오늘 공부한 단어***")   
for i,j in eng.items():
    print(i, " : ", j)


예제 - ID(아이디)와 PW(패스워드) 확인 프로그램

print("--- 로그인 ---")

user = {'aaa':'abc123', 'bbb':'def123', 'ccc':'1234'}

while(True):
    
    id = input("아이디 : ")
    
    if id in user.keys():
        
        pw = input("비밀번호 : ")
        
        if pw in user.values():
            print("로그인 성공입니다.")
            break
        else:
            print("로그인을 다시해주세요.")
        
    else:
        print("사전에 없는 아이디입니다.")

 

728x90

'Programming > Python' 카테고리의 다른 글

함수(선언/전역변수/지역변수)  (0) 2023.10.24
리스트(LIST 02)  (0) 2023.10.24
리스트(LIST)_01  (0) 2023.10.23
문자열 다루기  (2) 2023.10.20
제어문 - 반복문(for), 탈출문, 무한반복문  (0) 2023.10.19