我正在编写一个程序来合并字典列表:
li = [{u'1234': [[1512734546591, 1512734552591]]}, {}, {}, {}]
reduce(lambda a, b: a.items() + b.items(), [l for l in li])
然后显示错误
AttributeError:' list'对象没有属性'项目'
为什么?
答案 0 :(得分:2)
考虑第一次迭代a.items() + b.items()
的结果。结果的类型是什么?结果在下一次迭代时传递到lambda
a
。
这是一个list
。在下一次迭代中,a
将是list
(上一个a.items() + b.items()
的结果),b
将是dict
。此时,a.items()
正在尝试访问items
的{{1}}属性,其中没有list
。