Dev./Python

Python - Dictionary

Ivan'show 2023. 6. 9.
728x90
반응형
  • Key - Value 쌍의 형태로 요소들을 그룹화한다.
  • Python 의 Dictionary 는 순서가 없는 컬렉션이다.
  • Dictionary 는 가변적이기 때문에 요소를 변경할 순 있지만 식별자는 변경하지 않는다.
  • 표현은 { } 를 사용한다.

Dictionary 생성하기

중복되지 않고 불변해야한느 키와 중복될 수 있는 데이터 타입으로 이루어진 Key - Value 쌍

키는 대소문자를 구분한다.

키 규칙

  • 고유해야 한다.
  • 동일한 키를 다시 사용하면 이전 키는 덮어쓰여진다.
  • 키는 불변타입이어야 한다.
  • 키에 리스트 or Dictionary 는 사용할 수 없다 (리스트와 딕셔너리는 가변이기 때문)
# 딕셔너리 (Dictionary)
# 빈 딕셔너리 생성
dict_name = {}
fees = {}

# 딕셔너리 생성
stu = {101: "Kim", 102: "Bae", 103: "Hong"}
fees = {"kim": 2000, "bae": 3000, "hong": 8000}

# 딕셔너리 접근 : 키를 참조하면서 접근
print(stu[101])
print(stu[102])
print(stu[103])
# Kim
# Bae
# Hong

print(fees["kim"])
print(fees["bae"])
print(fees["hong"])
# 2000
# 3000
# 8000

# 딕셔너리는 수정이 가능하다. : 키를 참조해서 값을 수정
stu[102] = "Python"
print(stu)
# {101: 'Kim', 102: 'Python', 103: 'Hong'}

stu[104] = "딕셔너리"
print(stu)
# {101: 'Kim', 102: 'Python', 103: 'Hong', 104: '딕셔너리'}

print(102 in stu)
# True

del stu[102] # 키 102 삭제 : del 문 사용
print(102 in stu)
# False
print(stu)
# {101: 'Kim', 103: 'Hong', 104: '딕셔너리'}

stu.clear() # clear() 메서드
print(stu)
# {}

# fromkeys
new_stu = stu.copy() # copy() 메서드

key = (101, 102, 103)
value = "딕셔너리"
new_stu = dict.fromkeys(key, value) # 일괄적으로 삽입 : fromkeys() 메서드

print(new_stu)
# {101: '딕셔너리', 102: '딕셔너리', 103: '딕셔너리'}

print(new_stu[101]) # 파이썬 특유의 코드슈가
print(new_stu.get(101)) # 함수형으로 접근
# 딕셔너리
# 딕셔너리

print(new_stu.items())
# dict_items([(101, '딕셔너리'), (102, '딕셔너리'), (103, '딕셔너리')])
print(new_stu.keys())
# dict_keys([101, 102, 103])
print(new_stu.values())
# dict_values(['딕셔너리', '딕셔너리', '딕셔너리'])

# 추가 삭제
stu = {101: "Kim", 102: "Bae", 103: "Hong"}
stu[104] = '멋쟁이사자'
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong', 104: '멋쟁이사자'}

stu.update({104: '멋쟁이사자2'})
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong', 104: '멋쟁이사자2'}

print(stu.pop(104))
# 멋쟁이사자2
print(stu)
# {101: 'Kim', 102: 'Bae', 103: 'Hong'}

 

728x90
반응형

'Dev. > Python' 카테고리의 다른 글

Python - 패키지  (0) 2023.06.12
Python - 클래스 상속 (Inheritance)  (0) 2023.06.12
Python - 함수 : 작동원리, return, 기본값, 가변, 키워드  (0) 2023.06.11
Python - Generator  (0) 2023.06.10
Python - Tuple  (0) 2023.06.08

댓글