【发布时间】:2021-01-30 20:43:43
【问题描述】:
我有一个包含字典的子列表:
[[{'a': 'False'}, {'a': 'True'}],
[{'b': 'False'}, {'b': 'True'}],
[{'a': 'False', 'b': 'False'}, {'a': 'False', 'b': 'True'},
{'a': 'True', 'b': 'False'}, {'a': 'True', 'b': 'True'}]]
我的目标是删除所有包含字符串“True”的字典。 我试过这样:
for comb in combination:
for my_dict in comb:
if 'False' in my_dict.values():
comb.remove(my_dict)
但是,我得到的输出是这样的
[[{'a': 'True'}], [{'b': 'True'}], [{'a': 'False', 'b': 'True'}, {'a': 'True', 'b': 'True'}]]
谁能告诉我为什么这不能正常工作?一开始我以为python可能只查看第一个值(我知道这没有意义)并确定该值不是“False”,但事实并非如此。我的 for 循环也无法识别第一个值为“False”的字典。我想知道字符串为“True”和“False”是否有问题?有人可以帮忙吗?我真的很感激!
【问题讨论】:
标签: python-3.x string dictionary