def compact(word):
holder = []
for i in word:
if i is True:
holder.append(i)
return holder
print(compact([0, 1, 2, 3, False, ""]))
我是一个python初学者,这是我写的代码附加列表“持有人”只有真正的价值。所以这个列表应该只包含1 2 3。但是,当我运行这段代码时,输出只是一个空列表[]。我很抱歉,如果这是一个愚蠢的问题,但我试图理解我在哪里错了。 问题来源StackOverflow 地址:/questions/59381827/how-to-append-list-with-only-true-values-in-python
解决方案1:使用列表理解:
input_list = [0, 1, 2, 3, False, ""]
output_list = [i for i in input_list if i]
output_list
[1, 2, 3]
解决方案2:如果你真的需要这个函数,用这个:
def compact(word):
holder = []
for i in word:
if i:
holder.append(i)
return holder
print(compact([0, 1, 2, 3, False, ""]))
[1, 2, 3]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。