반응형
add를 사용하지 않고 다이렉트로.
2개 이상의 동일한 Key가 있어선 안됨
my_dict = {1:"One", 1:"Yi"} #Bad
여러 자료의 묶음을 Key로 설정하고 싶다면, List가 아닌 Tuple을 사용
my_dict = {[1, 2, 3]:"Numbers"} #Error...
my_dict = {(1, 2, 3):"Numbers"} #OK!
my_dict = {"사과":"apple","바나나":"banana","당근":"carrot"}
# my_dict에서 “사과”를 Key로 넣어 나온 Value를 변수 var1에 넣어봅시다.
var1 = my_dict["사과"]
print(var1)
# my_dict에서 당근-carrot을 제거
del my_dict["당근"]
print(my_dict)
# my_dict에서 체리-cherry를 추가
my_dict["체리"] = "cherry"
print(my_dict)
문제
- 빈 Dictionary를 만들고, 이를 변수 my_dict에 넣어봅시다.
- my_dict에 다음 대응관계를 넣어봅시다.
- 1 → “Integer”
- ‘a’ → “String”
- (1, 2, 3) → “Tuple”
- my_dict에 다음 대응관계를 추가하는 코드를 10번째 줄에 작성해봅시다.
- [1, 2, 3] → “List”
my_dict = {}
my_dict[1] = "Integer"
my_dict['a'] = 'String'
my_dict[(1,2,3)] = "Tuple"
try:
my_dict[[1,2,3]] = "List"
except TypeError:
print("List는 Dictionary의 Key가 될 수 없습니다.")
하지만 위 처럼 작성하면 TypeError가 실행된다.
왜?
여러 자료의 묶음을 Key로 설정하고 싶다면, List가 아닌 Tuple을 사용해야 하기 때문.
고로 Try문을 이렇게 수정한다.
my_dict = {}
my_dict[1] = "Integer"
my_dict['a'] = 'String'
my_dict[(1,2,3)] = "Tuple"
try:
my_dict[(1,2,3)] = "List"
except TypeError:
print("List는 Dictionary의 Key가 될 수 없습니다.")
반응형
'● 알고리즘, 자료구조 > 2021 알고리즘' 카테고리의 다른 글
[NIPA AI 기초과정] 함수, 메서드, 매개변수, 인자 (0) | 2021.07.23 |
---|---|
[NIPA AI 교육 기초] 리스트 / 시퀀스 자료형 (0) | 2021.07.23 |
[NIPA AI 교육 기초] 파이썬 반복문, 빼먹고 학습한 것 (0) | 2021.07.23 |
str변수를 반복하면? 구하기 방법 2가지 (0) | 2021.07.23 |
[AI 기본 데분] 패키지란? (0) | 2021.07.20 |