Dictionary(Dict)는 key-value 형태의 데이터를 갖고 있는 Collection입니다.
다른 언어에서는 Map이라고 하지만, Python은 Dictionary라고 합니다.
이 글에서는 Dict를 사용하는 방법에 대해서 알아보겠습니다.
1. 딕셔너리 정의
Dictionary(dict)를 정의하려면 다음과 같이 { }안에 key-value 형태의 데이터를 입력하면 됩니다.
cities = {
'Korea': 'Seoul',
'Japan': 'Tokyo',
"China": 'Beijing',
'USA': 'Washington',
'France': 'Paris'
}만약 데이터가 없는 dict를 정의하고 싶다면 { }으로 데이터를 정의하지 않으면 됩니다.
cities = {}2. 딕셔너리의 데이터 접근
dict의 데이터를 접근하려면 다음과 같이 dict['key'] 또는 dict.get('key')로 접근하면 됩니다.
cities = {
'Korea': 'Seoul',
'Japan': 'Tokyo',
"China": 'Beijing',
'USA': 'Washington',
'France': 'Paris'
}
print(cities)
print(cities['Korea'])
print(cities.get('Japan'))Output:
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris'}
Seoul
Tokyo3. 딕셔너리의 데이터 변경
데이터를 변경하려면 다음과 같이 할 수 있습니다.
cities['France'] = 'PARIS'
print(cities['France'])Output:
PARIS4. 딕셔너리에 데이터 추가
데이터를 추가하는 것도 데이터를 변경하는 것과 동일합니다. 다른점은 존재하지 않는 key에 대해서 value를 설정하는 것입니다.
cities['Germany'] = 'Berlin'
print(cities)Output:
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris', 'Germany': 'Berlin'}5. 딕셔너리의 데이터 삭제
pop(key)로 데이터를 제거할 수 있습니다.
cities = {
'Korea': 'Seoul',
'Japan': 'Tokyo',
"China": 'Beijing',
'USA': 'Washington',
'France': 'Paris'
}
removed = cities.pop('France')
print(removed)
print(cities)Output:
Paris
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington'}popitem
popitem은 가장 마지막에 추가된 아이템을 제거합니다. (python 3.7 이전 버전은 random으로 아이템을 삭제합니다)
removed = cities.popitem()
print(removed)
print(cities)Output:
('France', 'Paris')
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington'}del
del으로 아이템을 삭제할 수도 있습니다.
del cities['USA']
print(cities)Output:
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'France': 'Paris'}다음과 같이 dict 객체를 모두 삭제할 수 있습니다. 삭제한 이후에 dict 객체는 존재하지 않기 때문에 접근하면 에러가 발생합니다.
del citiesclear
clear()는 dict에 추가된 모든 데이터를 제거합니다. dict 객체는 삭제되지 않고 비어있는 상태로 남아있습니다.
cities.clear()
print(cities)6. 반복문으로 딕셔너리의 데이터 순회
다음과 같이 for in으로 모든 아이템을 순회할 수 있습니다.
for country in cities:
print(country)Output:
Korea
Japan
China
USA
Francevalue를 출력하고 싶다면 다음과 같이 하면 됩니다.
for country in cities.values():
print(country)Output:
Seoul
Tokyo
Beijing
Washington
Pariskey와 value를 모두 순회하고 싶다면 다음과 같이 하면 됩니다.
for country, city in cities.items():
print('country: {}, city: {}'.format(country, city))Output:
country: Korea, city: Seoul
country: Japan, city: Tokyo
country: China, city: Beijing
country: USA, city: Washington
country: France, city: Paris7. 딕셔너리의 Key 존재 확인
다음과 같이 in을 사용하여 dict에 어떤 key가 존재하는지 확인할 수 있습니다.
if "China" in cities:
print("China is in the cities")
if "Thailand" not in cities:
print("Thailand is not in the cities")Output:
China is in the cities
Thailand is not in the cities8. 딕셔너리의 길이 확인
len()으로 dict의 길이를 계산할 수 있습니다.
print(len(cities))9. 딕셔너리의 객체 복사
다음과 같이 copy()를 이용하여 dict 객체를 복사할 수 있습니다.
cities = {
'Korea': 'Seoul',
'Japan': 'Tokyo',
"China": 'Beijing',
'USA': 'Washington',
'France': 'Paris'
}
copied = cities.copy()
copied['Germany'] = 'Berlin'
print(cities)
print(copied)Output:
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris'}
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris', 'Germany': 'Berlin'}또는, dict()를 이용하여 객체를 복사할 수 있습니다.
copied = dict(cities)
copied['Germany'] = 'Berlin'
print(cities)
print(copied)Related Posts
- Python - Yaml 파일 파싱하는 방법
- Python - 파일 내용 삭제
- Python - for문에서 리스트 순회 중 요소 값 제거
- Python - 두 리스트에서 공통 요소 값 찾기
- Python - 문자열 앞(뒤)에 0으로 채우기
- Python - 공백으로 문자열 분리
- Python - 중첩 리스트 평탄화(1차원 리스트 변환)
- Python - 16진수 문자열을 Int로 변환
- Python - 두 날짜, 시간 비교
- Python f-string으로 변수 이름, 값 쉽게 출력 (변수명 = )
- Python - nonlocal과 global 사용 방법
- Python 바다코끼리 연산자 := 알아보기
- Python - pip와 requirements.txt로 패키지 관리
- Python - 딕셔너리 보기 좋게 출력 (pprint)
- Python - Requests 사용 방법 (GET/POST/PUT/PATCH/DELETE)
- Python - 온라인 컴파일러 사이트 추천
- Python - os.walk()를 사용하여 디렉토리, 파일 탐색
- Python - 문자열 비교 방법
- Python - Text 파일 읽고 쓰는 방법 (read, write, append)
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - 두개의 리스트 하나로 합치기
- Python - 리스트의 첫번째 요소 제거
- Python - 리스트의 마지막 요소 제거
- Python 소수점 버림, 4가지 방법
- Python 코드 안에서 버전 확인 방법
- Python 소수점 반올림, round() 예제
- Python - 리스트 평균 구하기, 3가지 방법
- Python - bytes를 String으로 변환하는 방법
- Python - String을 bytes로 변환하는 방법
- Python 버전 확인 방법 (터미널, cmd 명령어)
- Python - 람다(Lambda) 함수 사용 방법
- Python - dict 정렬 (Key, Value로 sorting)
- Python - range() 사용 방법 및 예제
- Python - 리스트를 문자열로 변환
- Python - 문자를 숫자로 변환 (String to Integer, Float)