首页 > 解决方案 > Python,累积“itertools.accumulate”对象不支持项目分配错误

问题描述

我有以下代码:

diff = [num1-num2 for (num1, num2) in zip(saldo, versamenti)]
iva_a_debito=dict()
iva_a_debito['Iva a debito'] = accumulate(list(diff))

for index, xi in enumerate(iva_a_debito['Iva a debito']):
      if xi < 0 :
          iva_a_debito['Iva a debito'][index] = xi*-1

      else:
           iva_a_debito['Iva a debito'][index] = 0

但是python给了我以下错误:

TypeError: 'itertools.accumulate' object does not support item assignment

错误在哪里?

标签: pythonpython-3.xlistpython-2.7dictionary

解决方案


将其转换为列表,以便您可以更新它。

diff已经是一个列表,你不需要list(diff).

iva_a_debito['Iva a debito'] = list(accumulate(diff))

推荐阅读