python - 如何将其打印为新列表?

标签 python list

我希望程序将 a 列表中的数字打印为一个新列表 - x 列表,而不是在其自己的列表中打印每个数字。

当我运行它时,输出是:

[1]
[1, 1]
[1, 1, 2]
[1, 1, 2, 3]

当我只想要:

[1, 1, 2, 3]

这就像是最简单的事情,但我不记得怎么做了!有人能帮我吗?谢谢。

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

x = []
def less_than_five():
    for item in a:
        if item < 5:
            x.append(item)
        print(x)

less_than_five()

最佳答案

您可以像这样过滤结果:

print(list(filter(lambda x:x<5,a)))

输出:

[1, 1, 2, 3]

或者你也可以尝试列表理解:

print([i for i in a if i<5])

输出:

[1, 1, 2, 3]

关于python - 如何将其打印为新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49265975/

相关文章:

python - 从列表中删除类似开头的字符串 - python

python - 如何在 Python 2.7 中以字符串格式包含 %?

python - 从不可变类型继承

python - 在 Python 中避免循环(循环)导入?

python - 如何使文件中的每一行成为包含整个文件的列表的子列表?

python - 读取 CSV 文件中的行并附加列表会为每个值创建一个列表列表

Python函数: multiple arguments

python - 数据帧索引

python - 在 OS Mavericks 中设置/更改 PYTHONPATH

python - 在 req.path 中使用 django 的反向函数