일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- convexhull
- python list
- tokenizing
- tensorflow update
- c언어
- python 알고리즘
- 딥러닝
- #실생활 영어
- #일상영어
- #English
- 영어
- Convolution Neural Network
- 영어명언
- findContours
- object detection
- #1일1영어
- keras
- text2img
- #Android
- #프로젝트
- #실생활영어
- #영어 명언
- 이미지 생성
- word embedding
- 완전탐색
- #opencv
- python __init__
- opencv SURF
- #영어
- TensorFlow
Archives
- Today
- Total
When will you grow up?
'dict' object has no attribute 'iteritems' 오류 본문
python을 사용하다보면 items() 함수와 iteritems()라는 함수가 종종 사용되는것을 볼 수 있는데, 파이썬 버전에 따라 다른 결과를 나타낸다
원래 python item()는 tuple을 원소로 가지는 list를 return했다.
ex) tuple은 리스트와 비슷한 자료형이며,
tu = ('abc',1,3,'tuple') / answer = {"a": (3**2), "b": (3**4-2)} 이러한 값들을 리턴받을 수 있으며 보통 for문을 이용하여 리턴받는다. 그런데 이러한 방법은 메모리를 많이 잡아먹기 때문에, generator가 도입된 후 메모리를 효율성을 위하여 items() 대신 iteritems()를 사용.
python 2.x버전에서는 구버전과 호환성을 위해 items() , iteritems() 둘다 지원했지만 python3에서는 list가 아닌 iterator를 return하고 iteritems() 함수는 쓸 수 없다.
1 2 3 4 5 6 7 8 9 | answers = {"a": (3**.5+4)**.5, "b":(3**.5-1)**.5, "c": (3+4*6**.5)**.5, "d":(9-6**.5)**.5} for key, ans in answers.items(): #python3에서는 answers.iteritems() 대신 answers.item() 사용 print("key 값 :", key, "answers 값 : ",ans) #key 값 : a answers 값 : 2.3941701709713277 #key 값 : b answers 값 : 0.8555996771673521 #key 값 : c answers 값 : 3.57742351017219 #key 값 : d answers 값 : 2.5593964634688433 | cs |
'02. Study > Python' 카테고리의 다른 글
Python을 이용한 정규표현식(regular expression) (0) | 2019.08.12 |
---|---|
List Comprehension(리스트 컴프리헨션) (0) | 2018.01.12 |
List slicing(리스트 슬라이싱) (0) | 2018.01.12 |
raise LookupError(resource_not_found) 오류 (0) | 2017.05.06 |
Python 에서 text 과정중 UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 564 (0) | 2017.05.04 |
Comments