python - 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
错误在哪里?
解决方案
将其转换为列表,以便您可以更新它。
diff
已经是一个列表,你不需要list(diff)
.
iva_a_debito['Iva a debito'] = list(accumulate(diff))
推荐阅读
- kotlin - Kodein + Ktor = 冻结 kotlin.collections.HashMap 的突变尝试 - 为什么?
- azure - 如何在 Databricks 上将 Azure Synapse Dataframe 转换为 JSON?
- postgresql - 在 postgresql 中,我们可以使用返回 id 代替 lastval() 吗?
- mysql - SequelizeDatabaseError - 无法添加外键约束
- python - ModuleNotFoundError: No module named - 尝试从另一个文件夹导入文件时
- java - java.time.Duration 的 springdoc-openapi-webflux-ui 问题(ISO 8601 持续时间格式)
- angular - 在 Angular-msal2 中使用 Azure idtoken 请求 API 时出现 Cors 错误
- php - 如何使用模态更新数据表中的数据?
- python - 我想单独过滤每个代理的客户。姜戈
- azure - 如何在 Azure Web App 的部署窗口期间让用户查看计划的维护消息