본문 바로가기
Programing/Python

Python Dictionary 사용방법?

by 멍멍돌이야 2023. 3. 9.
반응형

이 자습서에서는 관련 정보를 구성할 수 있는 Python 사전에 대해 배웁니다.

 

1. Python Dictionary type 소개

Python 사전은 각 키가 값과 연결된 키-값 쌍의 모음입니다.

키-값 쌍의 값은 숫자, 문자열, 목록, 튜플 또는 다른 사전일 수 있습니다. 실제로 Python에서 유효한 유형의 값을 키-값 쌍의 값으로 사용할 수 있습니다.

키-값 쌍의 키는 변경할 수 없어야 합니다. 즉, 키(예: 숫자, 문자열, 튜플 등)는 변경할 수 없습니다.

Python은 중괄호 {}를 사용하여 사전을 정의합니다. 중괄호 안에 0개, 1개 또는 여러 개의 키-값 쌍을 배치할 수 있습니다.

다음 예제에서는 빈 사전을 정의합니다.

empty_dict = {}

일반적으로 루프(for 루프 또는 while 루프) 전에 빈 사전을 정의합니다. 그리고 루프 내에서 사전에 키-값 쌍을 추가합니다.

사전 유형을 찾으려면 다음과 같이 type() 함수를 사용합니다.

empty_dict = {}

print(type(empty_dict))

Output:

<class 'dict'>

다음 예제에서는 일부 키-값 쌍이 있는 사전을 정의합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

사람 사전에는 이름, 성, 나이, 좋아하는 색상 및 활성 상태를 나타내는 5개의 키-값 쌍이 있습니다.

 

2. Dictionary 값 사용하기

사전에서 키로 값에 액세스하려면 대괄호 표기법이나 get() 메서드를 사용할 수 있습니다.

 

1) 대괄호 표기법 사용

키와 연결된 값에 액세스하려면 대괄호 안에 키를 배치합니다.

dict[key]

다음은 개인 사전에서 키 first_name 및 last_name과 연관된 값을 가져오는 방법을 보여줍니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}
print(person['first_name'])
print(person['last_name'])

Output:

John
Doe

 

2) get() 메서드 사용

존재하지 않는 키에 액세스하려고 하면 오류가 발생합니다. 예를 들어:

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

ssn = person['ssn']

Error:

Traceback (most recent call last):
  File "dictionary.py", line 15, in <module>
    ssn = person['ssn']
KeyError: 'ssn'

이 오류를 방지하려면 사전의 get() 메서드를 사용할 수 있습니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

ssn = person.get('ssn')
print(ssn)

Output:

None

키가 존재하지 않으면 get() 메서드는 KeyError를 발생시키는 대신 None을 반환합니다. 없음은 값이 존재하지 않음을 의미합니다.

get() 메서드는 또한 키가 존재하지 않을 때 기본값을 두 번째 인수에 전달하여 기본값을 반환합니다.

다음 예는 ssn 키가 개인 사전에 존재하지 않는 경우 '000-00-0000' 문자열을 반환합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

ssn = person.get('ssn', '000-00-0000')
print(ssn)

Output:

000-00-0000

 

3. Adding new key-value pairs: 새 키-값 쌍 추가

사전에는 동적 구조가 있으므로 언제든지 새 키-값 쌍을 추가할 수 있습니다.

새 키-값 쌍을 사전에 추가하려면 새 값과 함께 대괄호 안에 새 키가 오는 사전 이름을 지정합니다.

다음 예에서는 개인 사전에 새 키-값 쌍을 추가합니다.

person['gender'] = 'Famale'

 

4. Modifying values in a key-value pair: 키-값 쌍의 값 수정

키와 연결된 값을 수정하려면 대괄호 안에 키가 있는 사전 이름과 키와 연결된 새 값을 지정합니다.

dict[key] = new_value

다음 예는 사람 사전의 연령과 연관된 값을 수정합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

person['age'] = 26

print(person)

Output:

{'first_name': 'John', 'last_name': 'Doe', 'age': 26, 'favorite_colors': ['blue', 'green'], 'active': True}

 

5. Removing key-value pairs: 키-값 쌍 제거

키로 키-값 쌍을 제거하려면 del 문을 사용합니다.

del dict[key]

이 구문에서는 제거하려는 사전 이름과 키를 지정합니다.

다음 예는 사람 사전에서 '활성' 키를 제거합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

del person['active']
print(person)

Output:

{'first_name': 'John', 'last_name': 'Doe', 'age': 25, 'favorite_colors': ['blue', 'green']}

 

6. Looping through a dictionary: 사전을 통한 반복

사전을 검사하기 위해 for 루프를 사용하여 키-값 쌍 또는 키 또는 값을 반복할 수 있습니다.

 

Python 3.7부터 사전을 반복하면 키-값 쌍을 삽입한 순서대로 가져옵니다.

 

1) 사전의 모든 키-값 쌍 반복

Python 사전은 키-값 쌍 목록을 목록의 튜플로 포함하는 객체를 반환하는 items()라는 메서드를 제공합니다.

 

For example:

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

print(person.items())

Output:

dict_items([('first_name', 'John'), ('last_name', 'Doe'), ('age', 25), ('favorite_colors', ['blue', 'green']), ('active', True)])

사전의 모든 키-값 쌍을 반복하려면 두 개의 변수 키와 값이 있는 for 루프를 사용하여 목록의 각 튜플을 압축 해제합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

for key, value in person.items():
    print(f"{key}: {value}")

Output:

first_name: John
last_name: Doe
age: 25
favorite_colors: ['blue', 'green']
active: True

for 루프에서 모든 변수 이름을 사용할 수 있습니다. 키와 값일 필요는 없습니다.

 

2) 사전의 모든 키를 통해 반복

때로는 사전의 모든 키를 반복하고 싶을 수도 있습니다. 이 경우 keys() 메서드와 함께 for 루프를 사용할 수 있습니다.

keys() 메서드는 사전의 키 목록을 포함하는 객체를 반환합니다.

 

For example:

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

for key in person.keys():
    print(key)

Output:

first_name
last_name
age
favorite_colors
active

실제로 모든 키를 통해 반복하는 것은 사전을 통해 반복할 때의 기본 동작입니다. 따라서 keys() 메서드를 사용할 필요가 없습니다.

다음 코드는 위의 예와 동일한 출력을 반환합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

for key in person:
    print(key)

 

3) 사전의 모든 값을 반복

values() 메서드는 키가 없는 값 목록을 반환합니다.

사전의 모든 값을 반복하려면 values() 메서드와 함께 for 루프를 사용합니다.

person = {
    'first_name': 'John',
    'last_name': 'Doe',
    'age': 25,
    'favorite_colors': ['blue', 'green'],
    'active': True
}

for value in person.values():
    print(value)

Output:

John
Doe
25
['blue', 'green']
True

 

Summary

  • Python 사전은 각 키에 연관된 값이 있는 키-값 쌍의 모음입니다.
  • 키로 값에 액세스하려면 대괄호 또는 get() 메서드를 사용하십시오.
  • del 문을 사용하여 사전에서 키별로 키-값 쌍을 제거합니다.
  • for 루프를 사용하여 사전의 키, 값 및 키-값 쌍을 반복합니다.
        

 

 

refreance:https://www.pythontutorial.net/python-basics/python-dictionary/     
728x90
반응형

댓글