[Python] dictionary key exist / 딕셔너리 키 값 체크
DevOps/Python 2021. 12. 31. 13:17
has_key
menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}
if menu.has_key("ham"):
print "네, 찾는 것이 있네요"
else:
print "그런 메뉴는 없습니다."
파이썬 3을 사용중이면 아래 에러 문구가 나오면 처리되지 않음
AttributeError: 'dict' object has no attribute 'has_key'
has_key는 파이썬에서 지양하는 함수로, 파이썬 2를 사용하는 분들도 사용하면 안된다.
http://stackoverflow.com/questions/1323410/has-key-or-in
get / in
1. get
menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}
if menu.get("ham"):
print "네, 찾는 것이 있네요"
else:
print "그런 메뉴는 없습니다."
2. in
menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}
if "ham" in menu:
print "네, 찾는 것이 있네요"
else:
print "그런 메뉴는 없습니다."
get은 키에 해당하는 값을 넘겨주기 때문에 값이 있다면 True고 없다면 False(...일 것 같지만 실제로는 None을 리턴한다. None은 False가 아니긴 하지만.... 어차피 키 값 판별이니 True가 아니므로 없는 메뉴에 대해서는 else로 빠진다.) 가 된다.
참고
'DevOps > Python' 카테고리의 다른 글
[Python] 문자열 치환 replace / translate (0) | 2021.12.31 |
---|---|
[python] too many values to unpack 해결 (0) | 2021.12.31 |
python flask 환경에서 sql query를 in 조건으로 검색 (0) | 2021.12.10 |
Python datetime 어제, 달의 첫번째 일, 달의 마지막 일 (0) | 2021.07.06 |
Python datetime 사용법 (0) | 2021.07.06 |