본문 바로가기
PROGRAMING📚/Python📑

파이썬(Phython) 딕셔너리 사용하기

별찌루 2022. 4. 14.
728x90
반응형

딕셔너리

하나의 키에 하나의 값이 쌍을 이루어 저장되는 자료형을 말한다 .

쌍으로 이루어진 데이터를 관리 할 때, 다양한 속성을 가진 데이터를 관리 하기위해서 주로 사용된다.

 

(주의!)

  • 중복된 키를 사용할 수 없다.(하나를 제외한 나머지 키 값은 무시함)
  • key는 숫자, 문자열, 값은 숫자, 문자열 리스트가 될 수 있다. 
  • 딕셔너리를 정의 할 때, 원소들의 묶음은 중괄호 { }로 감싸 주어야함
  • 인덱싱 접근이 불가능하다.

딕셔너리 함수

  • keys :딕셔너리에 포함된 모든 key만을 반환 
  • values :딕셔너리에 포함된 모든 value만을 반환 
  • in :해당 key가 딕셔너리 안에 포함되어 있는지 검사 
  • update : 두 개의 딕셔너리를 하나로 합침 clear 딕셔너리의 모든 요소를 제거
  • clear : 딕셔너리의 모든 요소를 제거

딕셔너리 실습 개념

#딕셔너리 선언
num= 
print(num)

#딕셔너리에 키와 값을 추가
num[4] = "four"        #유사코드 _ word[a] = b
print(num)

#딕셔너리에서 키를 이용하여 값을 검색
print(num[2])

#중복이 불가능, 원래있던 값이 사라진다.
num[1] ="하나"
print(num)

#딕셔너리에서 키를 삭제
del num[3]
print(num)

 

(실습1)입력받은 숫자의 각 작업의 기능을 추가하기

word= {} # { } : 빈딕셔너리 

print("<영어 단어장>\n 1. 단어 추가\n 2.단어 검색\n 3.단어 삭제\n 4.단어 목록 출력\n 5. 종료\n")
print(" ==========================================")

num = int(input("작업을 선택>>"))

while 1 :
    if num == 1 :
        add = input("추가할 영어 단어를 입력하세요 >>" )
        r = input("의미를 입력하세요 >>")
        word[add] = r
        print(word)
    elif num ==2 :
        serch = input(print("검색을 원하는 단어를 입력하세요 >>"))
        if serch in word :
            print(word[serch])
        else :
            print("검색 결과가 없습니다.")
    elif num == 3 :
        d = input(print("삭제를 원하는 단어를 입력하세요 >>"))
        if d in word :
            del word[d]
            print("{}를 삭제 하였습니다.".format(d))
        else :
            print("해당 단어가 존재하지 않습니다.")
    elif  num ==4 :
        print(word)
    elif num ==5 :
        break
    else:
        print("없는 숫자입니다. 다시 입력하세요.")
        
    num = int(input("작업을 선택>>"))

(실습 2)숫자를 입력받아 해당 숫자가 홀수 인지 짝수인지 판단하고 개수와 합을 출력하시오

 

tlist= []
slist =[]
clist = []

word = {}

for i in range(5):
    n = int(input("숫자를 입력하세요 >>"))
    tlist.append(n)

for j in tlist:
    if j%2 == 0 :
        slist.append(j)
        word[j] = "짝수"
    else :
        clist.append(j)
        word[j] = "홀수"

print("<실행결과>\n")
print("숫자리스트 :",tlist)
print("짝수 개수:",len(slist))
print("짝수 합:",sum(slist))
print(word)

 


(실습 3)숫자를 입력받아 선택한 작업을 수행하도록 만들기

for i in items: #딕셔너리에 있는 키 값이 i 변수에 저장된다. 딕셔너리에서는 키가 우선권을 가진다.
print(i, items[i])
print(i, items.get(i) #item[i]와 유사, 키에 해당하는 값을 불러옴

#딕셔너리는 값보다 키가 우선 권을 가진다.

items= {'coffe':100,'water':50,'milk':150,'bread':5}

print("<물품 관리>\n")
print(" 1.물품 추가\n 2.물품 구매\n 3.물품 재고 확인\n 4. 종료\n")
print("=======================================================")
print(items)

while 1 :
    num =int(input("작업 선택 >>"))
    if num ==1 :
        plus = input("추가할 물품을 입력하세요 : ")
        plusV =int(input("구입할 물품의 갯수을 입력하세요 : "))
        if plus in items :
            items[plus] += plusV
    elif num ==2:
        add = input("구매를 원하는 물품을 입력하세요 : ")
        if add in items:
            v = int(input("구매 수량을 입력하세요 : "))
            if items[add] < v:
                print("재고가 부족합니다.")
            else :
                items[add] -= v
                if items[add] < 1 :
                    del items[add]
        else:
            print("없는 물품 입니다.")
    elif num ==3:
        print(items)
    elif num ==4:
        break
    else :
        print("없는 작업입니다. 다시 선택하세요.")

 

 

 

 

728x90
반응형

댓글