Python:静止的布尔阵列,文档



我在哪里可以在下面的代码上找到文档?为什么将数组乘以2,将另一个false插入数组?

print( [False] * 2 )
output: [False, False]

它使列表加倍。基本上乘以列表中的参考数量。那是预期的行为。

print(['a', 'b', 'c'] * 3)
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

用于乘以list中的数字,您需要通过它 iterate。乘法的方式给出了您获得的输出。

python具有许多operator方法 - 乘法方法称为 __mul__(https://docs.python.org/3.7/library/operator.html.html#operator.poperator.poperator.poperator.poperator.poperator.<</strong>)任何类/模块都可以定义其自己的__mul__方法,该方法将在乘以时运行(这是您使用*时发生的情况)

如果您查看列表,则可以看到它已定义为__mul__

 ["a", "b"].__mul__
 <method-wrapper '__mul__' of list object at 0x7efc163fe9d0>

您可以用一个号码调用此方法:

["a", "b"].__mul__(2)
["a", "b", "a", "b"]

最新更新