중첩 된 사전 comprehensions을 파이썬 3에서 이해하는 데 어려움이 있습니다. 아래 예제에서 얻은 결과는 올바른 구조를 오류없이 출력하지만 내부 키 : 값 쌍 중 하나만 포함합니다. 나는 이런 중첩 된 사전 이해의 예를 발견하지 못했다. "중첩 된 사전 독해 Python"이라는 용어는 기존 사례, 중첩되지 않은 이해 또는 다른 접근 방식을 사용하여 해결 된 답변을 보여줍니다. 잘못된 구문을 사용하고있을 수 있습니다.중첩 된 사전 이해 python
예 :
data = {outer_k: {inner_k: myfunc(inner_v)} for outer_k, outer_v in outer_dict.items() for inner_k, inner_v in outer_v.items()}
이 예에서는 일본어 사전을 반환하지만 myfunc
의해 수정 내부 값으로한다.
outer_dict 사전의 구조뿐만 아니라, 그 결과
{outer_k: {inner_k: inner_v, ...}, ...}
대단히 고마워요. - 누군가에게 도움이된다면, 저를 혼란스럽게합니다. 블렌더의 해결책은 나의 예에서 두 가지 변화가 있습니다 : 이동 된 대괄호와 바깥쪽에 '내부'를 넣는 것입니다. 원래는 for 절이 올바르게 설정되어 있었지만 잘못된 부분의 대괄호를 사용하여 "NameError : global name 'outer_v"가 정의되지 않았습니다. "그런 다음'for '와 같은 오류가 for에있는 대괄호와 함께 잘못된 위치에 있습니다. 올바른 장소. –