필자는 허가보다 용서를 구하는 것이 더 Pythonic하다는 관점에서이 질문을하고있다. 나는 꽤 절름발이 인 자신을 반복의 비용으로 용서보다는 허락을 위의 코드에서덧붙이 기 전에 dict 키에 목록이 있는지 확인하는 Pythonic 방법
d = dict()
try:
d[est['state']].append(est)
except Exception:
d[est['state']] = []
d[est['state']].append(est)
:
그래서, 나는처럼 몇 가지 코드를 가지고있어! 그래서, 대안을 알고 없다, 차라리 것 :
d = dict()
if est['state'] in d:
d[est['state']].append(est)
else:
d[est['state']] = [est]
이 두 가지 접근 방식의 일종의 혹 투성이입니다. 이 작업을 수행하는 더 좋은 방법은 무엇입니까? 최저 지금까지 IS 발견했습니다
from collections import defaultdict
d = defaultdict(list)
d[est['state']].append(est)
그래를, 당신은 2.5이없는 경우'defaultdict' 또는'dict.setdefault'를 사용합니다. 나는 당신이 당신의 자신의 질문에 대답했다고 생각한다. –
'defaultdict'는 굉장하다. 이제'defaultOrderedDict'만이 stdlib에 있다면 ... – nneonneo
완전히 dict.setdefault를 놓쳤습니다. 그것은'dict.get'과 비슷하지만 키의 값을 반환 할뿐만 아니라 기본값을 설정할 것입니다. 야생! –