【发布时间】:2021-03-24 01:52:37
【问题描述】:
我有一个如下的字典数据。我想将浮点数转换为整数。我该怎么做?我尝试了几种方法,但都无济于事。
数据:
{'ABC': {'2020-09-01': [{487.0: (0, 1), 488.0: (1, 2)}, {489.0: (0, 1), 481.0: (1, 2)}]},
'CDE': {'2020-01-01': [{484.0: (0, 1), 483.0: (1, 2)}, {482.0: (0, 1), 481.0: (1, 2)}]}}
我想要这个:
{'ABC': {'2020-09-01': [{487: (0, 1), 488: (1, 2)}, {489: (0, 1), 481: (1, 2)}]},
'CDE': {'2020-01-01': [{484: (0, 1), 483: (1, 2)}, {482: (0, 1), 481: (1, 2)}]}}
我试过这段代码,但我得到这个错误“RuntimeError: dictionary keys changed during iteration”:
for i in data:
for date in data[i]:
for model in range(0, len(data[i][date])):
for k, v in data[i][date][model].items():
data[i][date][model][int(k)] = data[i][date][model].pop(k)
【问题讨论】:
-
您说您多次尝试,但无济于事。发布您认为最有可能接近正确的尝试的minimal reproducible example,我们将帮助您修复它。不要只要求我们为您编写所有代码。
-
如果你只有
{487.0: (0, 1), 488.0: (1, 2)}, {489.0: (0, 1), 481.0: (1, 2)},你会如何解决这个问题?你怎么能在你的整体数据结构中找到这样的字典?现在,知道了这两件事,你能想出解决整体问题的方法吗?
标签: python list dictionary