python - 尝试循环显示更改但未应用它
问题描述
(使用 Python 3)我正在使用字典中的多个字典,并尝试运行 try except 循环以用浮点数替换单个字典中的所有数字。
我正在运行这样的东西,
for index, value in enumerate(dictionary):
for stats in value:
try:
stats = float(stats)
print(stats)
except:
print(stats)
它实际上向我展示了更改,但没有应用它们。如中,代码行返回我需要在字典中更改的内容,但是当我之后运行完整的字典时,数字仍然是字符串。
有人对此有任何想法吗?
解决方案
在不确切知道您的字典是什么样子的情况下,我不得不做出一些假设。您遇到的问题是您没有直接修改字典中的值,而是创建一个新实例并对其进行修改。
my_dict = {1:["1", "2", "3"], 2:["4", "5", "6"]} #I assume your dict looks similar to this?
my_dict = {i:[float(x) for x in my_dict[i]] for i in my_dict} #using list comprehension to modify each value
方法 2 使用 for 循环
for i in my_dict:
for index, v in enumerate(my_dict[i]):
my_dict[i][index] = float(my_dict[i][index])
推荐阅读
- elixir - 在 Elixir 中使用 pin 运算符匹配位串的模式
- google-cloud-platform - Google Cloud Platform - conditional deletion of an Instance Group
- python - How to replicate clean Google Colab environment locally?
- android - TabIndicatorColor not working in night theme.xml
- r - How do i add a grid behindthe areas in R's areaplot()?
- python - add role by clicking on a link discord.py
- java - Quarkus gRPC build issue
- javascript - (已过时)我如何绕过“removeCue 未列出”错误?
- python - 如何摆脱 KeyError: 'names'
- dart - dart 中是否有类似 c++ 的迭代器