【发布时间】:2019-10-22 19:47:13
【问题描述】:
我得到了一个包含整数和无的列表。 我想只过滤掉无。
[int(all(sub)) for sub in zip(*lists_for_filtering)]
这将删除无,但也删除 0(整数)。 我想修改为保持0(整数)的方式
结果是一个列表列表 [1,0,1,0,1,0,1,0] --> 无结果为 0,但也有 0 结果为 0 --> 这应该导致 1,因为它不是无
【问题讨论】:
-
想显示
lists_for_filtering? -
[1,2,3,None,5,4,3,0,None] ... 4 个这样的列表。
-
假设,
lff = [[3, 0, None, 4], [6, 7, 0, None], [8, 0, 5, 6], [4, None, 8, 6]]。您可以使用此列表理解来删除 NoneTypes :[[i for i in l if i!=None] for l in lff]。给:[[3, 0, 4], [6, 7, 0], [8, 0, 5, 6], [4, 8, 6] ] -
这是一种可能的解决方案:
[[int(x) for x in sub if x is not None] for sub in zip(*lists_for_filtering)]。顺便说一句,使用zip会改变你的列表结构,这是你故意想要的吗?