Python 从列表中删除空列表
预期的输出是Python 从列表中删除空列表,python,python-3.x,list,remove,Python,Python 3.x,List,Remove,预期的输出是[5,6,3,9] 但是获得的输出是[5,6,3,[],9] 这可以解释吗?选项1: 您可能还会发现这一点很有用:过滤器示例将删除0元素以及空列表。因为0的“真实性”是False就像None的真实性一样。正确,我应该定义False。我将更新我的回答。我认为在该示例中,您需要的是lambda过滤函数。另一个注意事项是,对于Python3.x,filter()返回一个生成器而不是列表。。因此,如果您希望它成为一个列表,您可以将其传递到list(filter(…)。好的,我可能会删除选项2
[5,6,3,9]
但是获得的输出是[5,6,3,[],9]
这可以解释吗?选项1:
您可能还会发现这一点很有用:过滤器示例将删除
0
元素以及空列表。因为0
的“真实性”是False
就像None
的真实性一样。正确,我应该定义False
。我将更新我的回答。我认为在该示例中,您需要的是lambda
过滤函数。另一个注意事项是,对于Python3.x,filter()
返回一个生成器而不是列表。。因此,如果您希望它成为一个列表,您可以将其传递到list(filter(…)
。好的,我可能会删除选项2,因为它会让OP:)感到困惑。)
test_list = [5, 6, [], 3, [], [], 9]
for i in test_list:
if i == []:
test_list.remove([])
print(test_list)
list = [x for x in test_list if x != []]