본문 바로가기
Python

[Python 기초] 파이썬 자료형 - 딕셔너리(Dictionary) 생성, 추가, 삭제

by dev수니 2021. 3. 31.
반응형

 

 

 1  딕셔너리(Dictionary)

 

 

리스트와 같이 값을 저장하는 방법이다. 하지만 딕셔너리에는 값과 관련된 키가 있다.
순서 따로 없이 오로리 키값으로만 데이터를 찾을 수 있다.

 

 

1. 저장하는 방법

변수명 ={key : value}

 

>>> dict2 = {1:"python"}

 

 

2. key 값에 들어갈 수 있는 자료형

1
2
3
4
5
6
7
8
9
>>> dict2 = {1:"python"}
>>> dict3 = {1.1:"Zython"}
>>> dict4 = {"name":"C"}
>>> dict5 = {[1,2,3]:"hello"# 리스트 불가능
Traceback (most recent call last):
  File "<pyshell#6>", line 1in <module>
dict5 = {[1,2,3]:"hello"}
TypeError: unhashable type: 'list'
>>> dict6 = {(1,2,3):"메로나"}   # 튜플가능
cs

key값으로 중복되는 값이 들어갈 수 없다. 또한 변경이 가능한 자료형은 들어갈 수 없다
따라서 정수, 문자열, 실수, 튜플의 고정되어있는 자료형만 사용 가능하다.

 

 

 

3. value 자료형 확인


지금까지 배운 자료형은 모두 들어갈 수 있다.
중복 데이터도 허용한다.

 

 

 

 

4. 딕셔너리의 추가 [key]

 

빈 리스트에 추가를 하려면 append() insert()를 사용해서 추가해줘야 했지만 딕셔너리는 함수를 사용하지 않아도 추가가 가능하다.

변수명[key] = value
1
2
3
4
5
>>> dict1["name"="강동원"
>>> dict1["name2"="정우성"
>>> dict1["name3"="차은우"
>>> dict1
{'name''강동원''name2''정우성''name3''차은우'}
cs

 

 

 

 

5. 딕셔너리의 변경 [key]

 

딕셔너리의 변경도 같은 방식으로 접근가능하다.

1
2
3
>>> dict1["name2"="이준기"
>>> dict1
{'name''강동원''name2''이준기''name3''차은우'}
cs

 

 

6. 여러개의 키값과 데이터를 저장하는 경우

1
2
3
4
5
6
>>> singer = {"BTS : 7","Exo : 9","Blackpink : 4"}
>>> idlist = {"Love" : 1234,"soonipy" : 2345}
>>> grade = {"나":[100,100,95],"김메론":[70,90,80]}
>>> language = {1:"python",2:"java",3:"c++"}
>>> sports = {"이승엽":"야구","박지성":"축구","김연아":"피겨"}
>>> movie = {"류승룡":["7번방의 선물","극한직업"],"강동원":["검사외전","의형제"],"황정민":["베테랑","신세계"]}
cs

 

 

 

7. 딕셔너리 삭제 (del)

del 변수명[key]
1
2
3
>>> del movie["황정민"]
>>> movie
{'류승룡': ['7번방의 선물''극한직업'], '강동원': ['검사외전''의형제']}
cs

 

 

 

8. key를 이용해서 value를 확인하는 방법

변수명[key]
1
2
>>> singer["BTS"]
7
cs

 

 

 


 

 

Ex 예제.

 

1. input()을 이용하여 id와 pw를 딕셔너리로 저장하는 프로그램.

  * .py 파일에서 작업

1
2
3
4
5
id1 = input("id를 입력하세요>")
pw1 =  input("pw를 입력하세요>")
idlist1 = {id1 : pw}
print("id>",id1) # key값만 가져오기 위해서는 함수를 이용해야 한다.
print("pw>",idlist1[id1])
cs

  * run 결과

id를 입력하세요>love
pw를 입력하세요>1234
id> love
pw> 1234

 

 

 

 

반응형

댓글