python

[python/파이썬 입문] 딕셔너리(Dictionary) 생성, 수정, 추가, 삭제, for문 key, value 출력

도미노& 2021. 9. 1. 16:41

강의 링크 : https://programmers.co.kr/learn/courses/2/lessons/283

 

 

JSON과 비슷하다고 생각하면 될 것 같다.

 

 

1. 생성

코드

# 중괄호로 생성
dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
}

# 대괄호[key]를 넣고 출력
print(dict['one'])

결과 화면

 

※ 앞에 넣는 값이 key가 맞나 싶어 같은 이름으로 두 개 작성해 봤는데 중복이 제거된다.

코드

dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
    'three' : 33,
}
print(dict)

결과 화면 : three 3 으로 입력된 것은 보이지 않는다.

 

 

2. 수정

코드

dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
    'three' : 33,
}
print(dict)
print('-----')

# 딕셔너리 수정
dict['one'] = 11
print(dict)

결과 화면 : 'one'의 값이 수정되었다.

 

 

3. 추가

코드

dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
}
print(dict)
print('--------------------------')

# 딕셔너리 추가
dict['four'] = 4
print(dict)

 

결과 화면

 

 

4. 삭제

삭제 방법 1 : return 없음

코드

dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
    'four' : 4
}
print(dict)
print('--------------------------')

# 딕셔너리 삭제 1
del(dict['three'])
print(dict)

결과 화면 : 'three'가 삭제되었다.

 

삭제 방법 2 : 삭제 대상의 값을 return 해 준다.

코드

dict = {
    'one' : 1,
    'two' : 2,
    'three' : 3,
    'four' : 4
}
print(dict)
print('--------------------------')

# 딕셔너리 삭제 2
a = dict.pop('three') # 삭제되는 값을 return 해 준다.
print('delete 된 값? {}'.format(a))

결과 화면

 

※ del()로 삭제하면서 return 값을 받으려고 하면 문법 오류가 발생한다.

 

 

5. for문 key, value 출력

※ 딕셔너리는 for문에서 순서를 보장하지 않는다.

순서가 보장되어야 한다면 List를 사용해야 한다.

 

코드 : key, value를 각각 가지고 오는 방법

ages = {'Tod' : 35,'Jane' : 23,'Paul' : 62}

# key를 가지고 오는 방법
for key in ages.keys(): # .keys()는 생략 가능하다
    print(key)

# value를 가지고 오는 방법
for value in ages.values():
    print(value)

결과 화면

 

 

코드 : key, value를 함께 가지고 오는 방법

ages = {'Tod' : 35,'Jane' : 23,'Paul' : 62}

# key를 받아서 값을 꺼내는 방법
for key in ages:
    print("{}의 나이는 {}".format(key, ages[key]))

print('--------------------')

# items() 함수를 쓰는 방법
for key, value in ages.items():
    print("{}의 나이는 {}".format(key, value))

결과 화면