1
파이썬 딕셔너리의 모든 요소들을 열거 CONF_C2의 값 예 :조건부 I는 등의 딕셔너리가
('a1', 'b1', 'c1')
('a1', 'b2', 'c1')
('a2', 'b1', 'c1')
('a2', 'b2', 'c1')
('a3', 'b1', 'c1')
('a3', 'b2', 'c1')
.... same for 'c21'
.... same for 'c22'
또한 이들 각각에 대한 키가 있어야합니다. CONF_A와 CONF_B (아래 참조)로 구성된 config에 대해이 값을 얻을 수 있지만 각 CONF_C 요소를 열거하는 방법을 모르겠습니다.
>>> for x in itertools.product(*conf.itervalues()):
for k, v in itertools.izip(conf,x):
print k,v
...
CONF_A a1
CONF_B b1
CONF_A a1
CONF_B b2
CONF_A a2
CONF_B b1
CONF_A a2
CONF_B b2
CONF_A a3
CONF_B b1
CONF_A a3
CONF_B b2
N.B.
: CONF_C 요소에 대한 키는 Patrick.Haugh @ 질문의 첫 번째 부분이 답을 제공'CONF_C1'와 'CONF_C2'
---- 편집 ----해야
for x in product(config['CONF_A'], config['CONF_B'], chain.from_iterable(config['CONF_C'].values())):
이것은 직교 제품을 얻기 위해 작동
그러나 나는 아직도 다시 열쇠를 얻을 필요가 내가 할 때 다음.
for k, v in itertools.izip(config, x):
나는 키 CONF_A, CONF_B 및 CONF_C를 얻을. 그러나 값은 역순으로 표시됩니다 (예 :
{'CONF_A': c1, 'CONF_B': b1, 'CONF_C': 'a1'}
또한, 내가 확인하는 방법을 알아 내려고 노력하고있어 그 위로 CONF_C 값이 C 일치, 즉의 키
{'CONF_A': a1, 'CONF_B': b1, 'CONF_C1': 'c1'}
{'CONF_A': a1, 'CONF_B': b1, 'CONF_C2': 'c21'}
감사를 제공합니다. 모든 열거 형에서 작동하지만 키를 다시 가져 오려고합니다. 자세한 내용은 * edit *를 참조하십시오. – mbadd
@ 마이클 내 편집 참조 –