user13423578
user13423578

Reputation:

Python, accumulate 'itertools.accumulate' object does not support item assignment error

I have the following code:

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

But python give me the following error:

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

Where is the error?

Upvotes: 1

Views: 448

Answers (1)

Barmar
Barmar

Reputation: 781761

Convert it to a list so you can update it.

diff is already a list, you don't need list(diff).

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

Upvotes: 2

Related Questions