开发者社区> 问答> 正文

如何在Python中仅使用真值追加列表?

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

展开
收起
kun坤 2019-12-27 17:24:26 398 0
1 条回答
写回答
取消 提交回答
  • 解决方案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]
    
    2019-12-27 17:24:31
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载