strang“;减少;python2.7中的行为

strang“;减少;python2.7中的行为,python,reduce,Python,Reduce,我正在编写一个程序来合并字典列表: li = [{u'1234': [[1512734546591, 1512734552591]]}, {}, {}, {}] reduce(lambda a, b: a.items() + b.items(), [l for l in li]) 然后显示错误 AttributeError:“列表”对象没有属性“项” 为什么?考虑第一次迭代的a.items()+b.items()结果。结果的类型是什么?在下一次迭代中,结果作为a传递到lambda 这是一个列

我正在编写一个程序来合并字典列表:

li = [{u'1234': [[1512734546591, 1512734552591]]}, {}, {}, {}]

reduce(lambda a, b: a.items() + b.items(), [l for l in li])
然后显示错误

AttributeError:“列表”对象没有属性“项”


为什么?

考虑第一次迭代的
a.items()+b.items()
结果。结果的类型是什么?在下一次迭代中,结果作为
a
传递到
lambda


这是一个
列表
。在下一次迭代中,
a
将是一个
列表(上一次
a.items()+b.items()
)的结果,
b
将是一个
dict
。此时,
a.items()
正试图访问
列表
属性,但该属性不存在

[l代表li中的l]
的意义是什么?您只是在合并值,而不是键。。。非常感谢你!回答得好。我如何合并像[dict,dict,dict]这样的dict列表?