Подтвердить что ты не робот

Инициализировать список с одинаковым значением bool

Можно ли без циклов инициализировать все значения списка для некоторого bool? Например, я хочу, чтобы список из N элементов был False.

4b9b3361

Ответ 1

Вы можете сделать это следующим образом: -

>>> [False] * 10
[False, False, False, False, False, False, False, False, False, False]

ПРИМЕЧАНИЕ: - Обратите внимание, что вы никогда не должны делать этого с list of mutable types с тем же значением, иначе вы увидите удивительное поведение, подобное приведенному ниже: -

>>> my_list = [[10]] * 3
>>> my_list
[[10], [10], [10]]
>>> my_list[0][0] = 5
>>> my_list
[[5], [5], [5]]

Как вы можете видеть, изменения, внесенные вами в один внутренний список, отражены во всех них.

Ответ 2

    my_list = [False for i in range(n)]

Это позволит вам изменять отдельные элементы, поскольку он самостоятельно создает каждый элемент.

Хотя это технически является циклом.

Ответ 3

Когда пространство имеет значение, bytearray - лучший выбор. Это примерно в пять раз больше пространства, чем список булевых решений.

Это создает массив значений N, инициализированных до нуля:

B = bytearray(N)