내가 사전의 목록을 병합하는 프로그램을 쓰고 있어요 "감소": '목록'개체가 어떤 속성 '항목을'이 없습니다 :스트 랭은 python2.7에서 동작
li = [{u'1234': [[1512734546591, 1512734552591]]}, {}, {}, {}]
reduce(lambda a, b: a.items() + b.items(), [l for l in li])
는 다음 오류
AttributeError를 보여줍니다
왜?
내가 사전의 목록을 병합하는 프로그램을 쓰고 있어요 "감소": '목록'개체가 어떤 속성 '항목을'이 없습니다 :스트 랭은 python2.7에서 동작
li = [{u'1234': [[1512734546591, 1512734552591]]}, {}, {}, {}]
reduce(lambda a, b: a.items() + b.items(), [l for l in li])
는 다음 오류
AttributeError를 보여줍니다
왜?
첫 번째 반복에 대해 a.items() + b.items()
의 결과를 생각해보십시오. 결과의 유형은 무엇입니까? 그 결과는 lambda
으로 a
으로 다음 반복에서 전달됩니다.
그것은 list
입니다. 다음 반복에서 a
은 list
(이전 결과는 a.items() + b.items()
)이고 b
은 dict
이됩니다. 이 시점에서 a.items()
은 속성 인 list
에 액세스하려고 시도했지만 그 중 하나도 없습니다.
대단히 고마워요! 좋은 대답. [dict, dict, dict]와 같은 dict 목록을 병합하려면 어떻게해야합니까? – sccds
'[l for l in]'의 요점은 무엇입니까? – Galen
당신은 단지 키가 아닌 값을 합치고 있습니다 ... http://treyhunner.com/2016/02/how-to-merge-dictionaries-in-python/ –