[None]* 在 python 中是什么意思

What does [None]* means in python

我最近在研究某人的代码和下面给出的部分代码

class Node:
def __init__(self, height=0, elem=None):
    self.elem = elem
    self.next = [None] * height

上面代码中的[None] * height是什么意思

我知道 * 运算符(作为乘法和解包)和 None 在 python 中意味着什么,但这有点不同。

>>> [None]  * 5
[None, None, None, None, None]

根据您的情况

为您提供大小height的列表

意思是None个列表,元素个数height。例如,对于 height = 3,它是这个列表:

[None, None, None]

如果你这样做 -

[element] * 3

你得到 -

[element, element, element]

这就是代码的作用,[None] * height

也就是说,如果-

height = 4
[None] * height 
# equals [None, None, None, None]