-2
나는 사전의 사전을 가지고있다. 중첩 된 dict 중 하나에 고유 한 키만 병합 된 dict에 존재하도록 모든 중복 키를 제거해야합니다. 중첩 딕셔너리를 평평하게하거나 제외하는 방법 중복 키는
for key, value in lst1.iteritems():
for key1, value1 in value.iteritems():
if key1 <> "b":
lst2[key1]=value1
내가 이전 답변
here,
here 및
here의 일부를 시도했지만 잘 동작하지 않습니다 수 :
{"a": "x", "c": "z"}
간단한 코드는 다음과 같습니다 위의 DICT이 될 것이다.
아래의 코드는 오류를 반환합니다 : I로 제대로 나는 구조를 평평 어떻게
{'a': 'b', 'c': 'b'}
:
lst2 = dict((key1, value1) for key1, value1 in (value for key, value in lst1.items()))
반환 : 값이
lst2 = {key1: value1 for key1, value1 in value for key, value in lst1.items()}
이 하나가 정의되어 있지 설명 했니?
간단 할 것입니다! 코딩의 다른 pythonic 방법? !!! – msc87
글쎄, 네 말이 맞아. 나는 그것이 독해력 이해를 사용하여 할 수 있는지 궁금 해서요. 첫번째 시력에 나는 그것이 가능하다라고 생각했다. 그러나 거의 시간 이후 나는 포기하지 않았고, 여기에 게시했다. .. 어떤 이익이라도, 어떻게해서든지! – msc87
문제는 두 번째 이해입니다. .values를 사용할 때 오류를 반환합니다. 그렇지 않으면 이미 두 개의 dicts 값을 교차하여 중복을 추출한만큼 두 번째 이해력으로 충분합니다. – msc87