将值附加到函数范围的返回值()

时间:2014-06-12 18:48:31

标签: python list python-2.x

我正在学习python,正在学习潜入Python 这本书。它说:

  

内置range函数返回一个整数列表。在其中   最简单的形式,它采用上限并返回从零开始的列表   计算但不包括上限。

根据它所说的,它返回一个列表。我认为我可以使用追加函数为它添加一个值,但我不能。

>>> l = range(7)
>>> l
[0, 1, 2, 3, 4, 5, 6]
>>> l.append(13)
>>> l
[0, 1, 2, 3, 4, 5, 6, 13]
>>> l = range(7).append(13)
>>> l

它没有打印任何东西,原因是什么?

1 个答案:

答案 0 :(得分:6)

原因是list.append就地运作,因此始终返回None

换句话说,这一行:

l = range(7).append(13)

相当于:

l = None

另请注意,您发布的示例证明,如果您在自己的行上调用range,则list.append返回的列表中的附加值会按预期工作:

>>> l = range(7)
>>> l.append(13)  # Call list.append on its own line
>>> l  # And it works as expected
[0, 1, 2, 3, 4, 5, 6, 13]
>>>