Understanding Python 3 lists printing None value for each element
作为一个在Python中非常熟悉的人,我在版本3中打印了列表的所有元素,经过全面的研究,我找不到这种行为的解释。
但是,我知道每个函数都必须返回一些值,如果没有定义,函数将返回"null"(在python中为"none")。但在这种情况下,为什么在正确打印所有元素之后,它会为另一个列表中的每个元素打印"无"?
1 2 3 4 5 6 7 | >>> a_list = [1,2] >>> a_list [1, 2] >>> [print(f) for f in a_list] 1 2 [None, None] |
当你指的是
正如其他人提到的,print()不返回任何内容。因此,不打印任何内容。如果您想知道为什么元素被正确打印,然后是2个
一个函数被调用,一旦里面的每一个语句都被执行,一个值就会被返回,但只有当函数返回某个值时。
在您的例子中,print(f)是对f的print函数的调用,print被执行,这意味着它将所需的值打印到控制台,然后返回其值,这是无的,因为print()不返回任何内容。在shell中工作时,每个表达式都是直接打印的,因此,可以同时获得预期的元素和
对于解决方案,您可以使用其他答案中提到的简单循环。
输出:
1 2 | 1 2 |