Что означает [Нет] * в Python - PullRequest
0 голосов
/ 09 ноября 2019

Я недавно изучал чей-то код и часть кода, приведенную ниже

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

Что означает [None] * height в приведенном выше коде

Я знаю, что означает *оператор (как умножение и распаковка) и None означает в Python, но это как-то иначе.

Ответы [ 3 ]

2 голосов
/ 09 ноября 2019

Это означает список None с количеством элементов height. например, для height = 3, это следующий список:

[None, None, None]
1 голос
/ 09 ноября 2019

Если вы делаете -

[element] * 3

Вы получаете -

[element, element, element]

Это то, что делает код, [None] * height

То есть, если -

height = 4
[None] * height 
# equals [None, None, None, None]
0 голосов
/ 09 ноября 2019
>>> [None]  * 5
[None, None, None, None, None]

Дает вам список размера height в вашем случае

...