【发布时间】:2020-02-05 22:22:58
【问题描述】:
所以我得到了一个包含字典的大清单。下面是其中一个字典的一个小例子:
[{'id': 32,
'calls': 1,
'wounded': 2,
'dog': True,
'hitrun': 'David Williams'},
{'id': 384,
我想遍历这些字典,获取大于 0 的调用和受伤的值,并将这些值添加到新列表中。我试过这样做:
lijst = []
for x in nee:
if x['calls'] > '0':
list.append(x)
if x['wounded'] > '0':
list.append(x)
但这不起作用。也有一些 call 和受伤的值为 None ,所以 > 0 也不起作用
【问题讨论】:
-
为什么不起作用?发生什么了?
list.append(c)中的c是什么?两个值都必须是 g.t.零。如果值符合条件,完整的字典是否会附加到 new 列表中? -
我收到此错误:“str”和“int”实例之间不支持“>”。我认为c是错误的。它应该是 x 。这两个值都必须大于零,但还有另一个问题:其中一些值是 None 所以它给出了另一个错误
-
您的示例字典值为
ints,您的条件语句值为字符串。试试if float(x['calls'] > 0:...和if float(x['wounded'] > 0:...
标签: python python-3.x list dictionary nested-lists