【发布时间】:2018-12-05 20:12:21
【问题描述】:
这是出于好奇而不是试图将其用于实际目的的问题。
考虑我有以下简单的例子,我通过列表理解生成一个列表:
>>> a = [1, 2, 3]
>>> b = [2 * i for i in a]
>>> b
[2, 4, 6]
>>> b.append(a)
>>> b
[2, 4, 6, [1, 2, 3]]
但是,如果我尝试一次性完成所有这些操作
>>> a = [1, 2, 3]
>>> b = [2 * i for i in a].append(a)
>>> b == None
True
结果返回None。有什么理由会这样吗?
我原以为这样的操作要么返回第一个示例中的答案,要么抛出错误。
作为参考,我使用的是 Python 3.6.5
【问题讨论】:
-
这与列表推导无关,但与
.append()。[1, 2, 3].append(4)也返回None -
有意思,没想到自己上个单子试试
标签: python python-3.x list-comprehension