dict
d
에있는 키 k
을 찾는 파이썬에서 내장 된 방법이 있습니까? 그 키가 없으면 다른 것을 찾으십시오. dict
e
? Python dicts 체인에서 키를 찾으십니까?
dict
는 S =
d
>
e
=>
f
=> ...의 임의의 긴 사슬 연장 될 수 있는가?
dict
d
에있는 키 k
을 찾는 파이썬에서 내장 된 방법이 있습니까? 그 키가 없으면 다른 것을 찾으십시오. dict
e
? Python dicts 체인에서 키를 찾으십니까?
dict
는 S =
d
>
e
=>
f
=> ...의 임의의 긴 사슬 연장 될 수 있는가?
당신이 사용할 수있는 collections.ChainMap
:
from collections import ChainMap
d = ChainMap({'a': 1, 'b': 2}, {'b': 22}, {'c': 3})
print(d['c'])
print(d['b'])
이는 것 출력 :
키'b'
에 대한 조회는지도의 첫 번째 사전으로 만족하고, 나머지 dicts 곳되지
3 2
공지 것을 수색했다.
ChainMap
은 다음과 같을 수 있습니다 파이썬 3.3
Python2.7을 지원해야하는 경우 백 포트를 사용할 수 있습니다. https://pypi.python.org/pypi/chainmap – guettli
에 도입되었다 :
if k in d:
pass
elif k in e:
pass
elif k in f:
...
것은 당신이 ChainMap
사용할 수없는, 파이썬 < 3.3 사용하는 경우.
이 덜 우아하지만 작동합니다
a = {1: 1, 2: 2}
b = {3: 3, 4: 4}
list_dicts = [a, b]
def lookup(key):
for i in list_dicts:
if key in i:
return i[key]
raise KeyError
lookup(1) # --> 1
lookup(4) # --> 4
당신은 목록에 모든 dicts을 추가하고, 그들을보고하는 방법을 사용합니다.
dicts 사이의 선형 검색입니까? 항상 첫 번째로, 그 다음에 전자로, 그 다음에 f ...로 보일 것입니다. – Vinny
@Vinny - 예, 나는 dicts를 순서대로보고 싶습니다. – user200783