为什么此脚本的输出是一个None的列表?

18 浏览
0 Comments

为什么此脚本的输出是一个None的列表?

这个问题已经在这里有了答案:

为什么print函数返回None?

我知道这是一个简单的问题,但我想知道为什么它打印出None。当我直接从我的终端编写它时,它只会打印出None。如果我在文件中或在线的Python编译器中编写相同的代码然后运行它,我不会得到相同的输出。

在我的终端直接编写:

>>> b = [(1, 2), (3, 4), (5, 6)]
>>> [print(a) for a in b]
(1, 2)
(3, 4)
(5, 6)
[None, None, None]

在Python在线编译器中运行:

\"enter

运行Python文件:

\"enter

我知道这不是同一组数据,但是这是同样的逻辑。

b = ([100.64188563286582, 101.64188563286582], [-1.0626228, -0.8626228], [-5.0, -15.0], [-float('inf'), float('inf')], [float('inf'), float('inf')], [-float('inf'), float('inf')], [-float('inf'), float('inf')])
[print(a) for a in b]

admin 更改状态以发布 2023年5月21日
0
0 Comments

在不使用 print() 的情况下使用,因为内置的 print() 不返回任何内容,因此最后会给出 None

>>>b=[(1,2),(3,4),(5,6)]
>>>[a for a in b]
>>>[(1, 2), (3, 4), (5, 6)]

输出:

[(1, 2), (3, 4), (5, 6)]

0
0 Comments

[print(a) for a in b] 的结果是 print() 对象的列表。你可以通过 print(print()) 简单地验证,打印 print() 对象的列表将显示一个 None 列表。

0