파이썬에서 사전에 항목 추가하는 방법

소개

사전은 내장된 Python 데이터 유형입니다. 사전은 키-값 쌍의 시퀀스입니다. 사전은 가변 객체이지만 사전 키는 변경 불가능하며 각 사전 내에서 고유해야 합니다. 내장된 추가 메서드는 없지만 사전에 추가하고 업데이트하는 여러 가지 방법이 있습니다. 이 기사에서는 Python 할당 연산자, update() 메서드, 그리고 사전을 병합하고 업데이트하는 연산자를 사용하여 Python 사전에 추가하고 업데이트하는 방법을 알아봅니다.

GitHub를 통해 Python 애플리케이션을 배포하고 DigitalOcean 앱 플랫폼을 사용하세요. DigitalOcean에 앱의 확장을 맡기세요.

Python 사전에 추가하는 네 가지 방법

  1. 할당 연산자 사용
  2. 업데이트 메서드 사용
  3. 합병 연산자 사용
  4. 업데이트 연산자 사용

= 할당 연산자를 사용하여 Python 사전에 추가하기

새 키를 사전에 추가하려면 = 할당 연산자를 사용할 수 있습니다:

dict[key] = value

키가 이미 사전에 있는 경우 할당 연산자가 값을 업데이트하거나 덮어씁니다.

다음 예제는 새로운 사전을 생성한 다음 할당 연산자 =를 사용하여 값을 업데이트하고 키-값 쌍을 추가하는 방법을 보여줍니다:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # 기존 키 덮어쓰기
dict_example['c'] = 3  # 새로운 키 추가
dict_example['d'] = 4  # 새로운 키 추가 

print("updated dictionary: ", dict_example)

출력은 다음과 같습니다:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}

출력에서 a의 값이 새 값으로 덮어씌워지고, b의 값은 변경되지 않았으며, cd에 대한 새로운 키-값 쌍이 추가되었습니다.

Python 사전에 값 덮어쓰지 않고 추가하기

= 할당 연산자를 사용하면 기존 키의 값을 새 값으로 덮어쓰게 됩니다. 프로그램에 중복 키가 있을 수 있지만 원래 값은 덮어쓰고 싶지 않은 경우에는 if 문을 사용하여 조건부로 값을 추가할 수 있습니다.

이전 섹션에서의 예제를 이어서, if 문을 사용하여 사전에 새로운 키-값 쌍만 추가할 수 있습니다:

dict_example = {'a': 1, 'b': 2}

print("original dictionary: ", dict_example)

dict_example['a'] = 100  # 기존 키, 덮어쓰기
dict_example['c'] = 3  # 새로운 키, 추가
dict_example['d'] = 4  # 새로운 키, 추가 

print("updated dictionary: ", dict_example)

# 다음과 같이 if 문 추가

if 'c' not in dict_example.keys():
    dict_example['c'] = 300

if 'e' not in dict_example.keys():
    dict_example['e'] = 5

print("conditionally updated dictionary: ", dict_example)

출력은 다음과 같습니다:

Output
original dictionary: {'a': 1, 'b': 2} updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4} conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

출력에서 보듯이 if 조건 때문에 사전이 조건적으로 업데이트될 때 c의 값이 변경되지 않았습니다.

update() 메서드를 사용하여 Python 사전에 추가

당신은 딕셔너리나 키-값 쌍의 이터러블을 딕셔너리에 추가할 수 있습니다. 이를 위해서는 update() 메서드를 사용합니다. update() 메서드는 기존 키의 값을 새로운 값으로 덮어씁니다.

다음 예제는 새로운 딕셔너리를 생성하고, update() 메서드를 사용하여 새로운 키-값 쌍과 새로운 딕셔너리를 추가하고, 각 결과를 출력하는 방법을 보여줍니다:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)

# 딕셔너리를 작성하여 작가 키-값 쌍을 업데이트합니다.
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# 새로운 딕셔너리를 생성합니다.
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# 원래의 딕셔너리에 새로운 딕셔너리를 업데이트합니다.
site.update(guests)
print("updated with new dictionary: ", site)

출력 결과는 다음과 같습니다:

Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'} updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'} updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

출력 결과에서 첫 번째 업데이트는 새로운 키-값 쌍을 추가하고, 두 번째 업데이트는 guest 딕셔너리의 키-값 쌍을 site 딕셔너리에 추가합니다. 기존 딕셔너리에 있는 키를 업데이트하는 경우, 이전 값은 업데이트에 의해 덮어씌워집니다.

병합 | 연산자를 사용하여 Python 딕셔너리에 추가하기

두 개의 딕셔너리를 병합하고 새로운 딕셔너리 객체를 반환하기 위해 파이썬의 병합 연산자 |를 사용할 수 있습니다.

다음 예제는 두 개의 사전을 만들고 병합 연산자를 사용하여 양쪽의 키-값 쌍을 포함하는 새로운 사전을 만드는 방법을 보여줍니다:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

new_site = site | guests

print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)

결과는:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'} guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'} new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

두 사전이 새로운 사전 객체로 병합되어 양쪽 사전의 키-값 쌍을 포함합니다.

만약 양쪽 사전에 모두 동일한 키가 있다면, 두 번째 사전 또는 오른쪽 피연산자에서 가져온 값이 사용됩니다. 다음 예제 코드에서는 두 사전 모두 b라는 키가 있는데요:

dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}

dict3 = dict1 | dict2

print{"dict3: ", dict3}

결과는:

Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}

b 키의 값은 오른쪽 피연산자인 dict2에서 가져온 값으로 덮어씌워집니다.

Update |= 연산자를 사용하여 Python 사전에 추가

파이썬에서는 사전을 주어진 사전이나 값으로 인플레이스로 업데이트하기 위해 파이프와 등호 문자를 사용하는 |= 연산자를 사용할 수 있습니다.

병합 | 연산자와 마찬가지로 두 사전에 모두 동일한 키가 있다면, 업데이트 |= 연산자는 오른쪽 피연산자에서 값을 가져옵니다.

다음 예제는 두 개의 사전을 만들고 업데이트 연산자를 사용하여 두 번째 사전을 첫 번째 사전에 추가하고 업데이트된 사전을 출력하는 방법을 보여줍니다:

site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}

guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

site |= guests

print("site: ", site)

결과는:

Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}

한국어로 번역합니다.

이전 예제에서는 세 번째 사전 객체를 만들 필요가 없었습니다. 왜냐하면 업데이트 연산자가 원본 객체를 수정하기 때문입니다. 결과에서는 guests 사전이 원래 site 사전에 추가되었음을 보여줍니다.

결론

이 기사에서는 Python 사전에 추가하고 업데이트하는 다양한 방법을 사용했습니다. 더 많은 Python 자습서로 학습을 계속하세요.

Source:
https://www.digitalocean.com/community/tutorials/python-add-to-dictionary