python - 字典用值嵌套字典替换“无”
问题描述
我有一本看起来像这样的字典:
nested_dict = { 'dictA': {'text': "ok",'useleskey':'useles_value','confidence': "lol"},
'dictB': None,
'dictC': None, }
每个字典都可以被填充(如dictA
)或具有None
价值。
我想为每个字典创建一个新列表来总结我可以获得的重要信息。
非空字典的伪代码如下所示:
list_dict_A= [nested_dict["dictA"]["text"], nested_dict["dictA"]["confidence"]]
如果字典是None
,那么我想创建以下列表
list_dict_B=[0, 0]
所以在这个例子中,预期的结果将是 3 个具有以下值的列表:
list_dict_A=["ok", "lol"]
list_dict_B=[0, 0]
list_dict_C=[0, 0]
解决方案
由于要创建新变量,因此必须分配给globals()
.
这是对这本词典执行此操作的一种方法:
for k, v in nested_dict.items():
var_name = f"list_{k}"
if v:
globals()[var_name] = [v.get("text", 0), v.get("confidence", 0)]
else:
globals()[var_name] = [0, 0]
print (var_name) # just show the var name. Not needed.
print(list_dictA)
==> ['ok', 'lol']
print(list_dictB)
==> [0, 0
推荐阅读
- python - 如何使用我的按钮在模式之间切换
- flutter - 如何减少 IntelliJ IDEA 中的颤振发布 apk 大小?
- html - 将鼠标悬停在 SVG 上以更改颜色
- swift - scrollView 内视图上的手势会阻止滚动
- android - 通知不在 Oreo 中显示,但在 android 10 中显示
- codenameone - Codename One BrowserComponent - 读取服务器证书
- java - SpringBoot 2.2.1 groovyMarkupConfigurer 异常
- matplotlib - matplotlib axes3d 单选按钮无法更新绘图
- python - TLE 计算列表中指定范围内的元素数量
- mysql - 无法连接到“localhost”上的 MySQL 服务器 (10061) (2003)