为什么Python中的某些列表方法只能使用已定义的变量?

Dan*_*kov 3 python list python-2.7

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

但:

>>> [1, 2, 3].append(4)
>>>
Run Code Online (Sandbox Code Playgroud)

为什么listPython中的方法(例如insertappend)仅适用于已定义的变量?

Ros*_*nko 9

在第二个样本中没有打印任何内容,因为append,在列表中调用(注意实际执行了追加),返回None.

或者你应该提到它a.append(4)也给你一个空白行(如你的第一个样本所示),第一个代码样本的最终输出是a表达结果的表示,而不是a.append('4')表达式.

append在两种情况下都没有打印任何东西,因为它代表了None.

  • @Daniil - 为什么`list.append`返回`None`?因为Guido说这应该归还...... (4认同)