에서 특정 키 - 값 쌍을 포함하는 파이썬 사전을 만들어이 같은 형태의 일부 코드가 있습니다다른 사전
d = {'foo': True, 'bar': 42, 'baz': '!'}
a = {'foo': d['foo'], 'bar': d['bar']}
b = {'foo': d['foo'], 'baz': d['baz']}
c = {'bar': d['bar'], 'baz': d['baz']}
는 확실히이 표현하는 더 나은 방법이 있습니다. 나는이 목적을 위해 기능을 쓸 수
# I'd hoped that something like this would work...
a = d.copy('foo', 'bar')
b = d.copy('foo', 'baz')
c = d.copy('bar', 'baz')
:
copydict = lambda dct, *keys: {key: dct[key] for key in keys}
a = copydict(d, 'foo', 'bar')
b = copydict(d, 'foo', 'baz')
c = copydict(d, 'bar', 'baz')
이 더 나은가요 사실은 사전의 copy
방법은 새 사전에 포함 할 키를 받아 희망의 문서를 읽어 솔루션보다 위의?
왜 a, b, c에 대한 목록 (또는 집합)을 사용하지 않으시겠습니까? 당신이 필요로 할 때 d에서 값을 차가운 모습으로 보아라. – maxy
사실 장고의'urlencode' 함수 ('urllib.urlencode'와 같이 사전을 허용)에'a','b','c'를 실제로 전달하고 있습니다. – davidchambers
@BlaXpirit : "아니오"라는 대답을 작성해야합니다. (HTML 코멘트가있는 최소 크기의 패드). 그래서 우리 모두는 그것을 열렬히 투표 할 수있다. –