列表理解并附加在一行中

ton*_*ang 1 python list

我正在尝试对 Numpy 数组使用列表理解,然后在后面附加另一个元素。然后我注意到一些奇怪的事情。

a = [i for i in machine]
a.append("All")
print(a)
Run Code Online (Sandbox Code Playgroud)

这将返回 [251, 360, 661, 662, 852, '全部']

尽管

a = [i for i in machine].append("All")
Run Code Online (Sandbox Code Playgroud)

无返回值

为什么这会返回 None 对象?有没有办法在一行中完成此操作?

Ry-*_*Ry- 5

append更改您调用它的列表。它不会\xe2\x80\x99 生成新列表,因此它会返回None以避免混淆。

\n\n

Python 3.6+,在列表文字中使用 splat (扩展可迭代):

\n\n
a = [*machine, "All"]\n
Run Code Online (Sandbox Code Playgroud)\n\n

之前,使用+运算符进行列表串联:

\n\n
a = list(machine) + ["All"]\n
Run Code Online (Sandbox Code Playgroud)\n