Initialiser la liste avec la même valeur bool
Est-il possible sans boucles d'initialiser toutes les valeurs de liste à certains bool? Par exemple je veux avoir une liste de N éléments Faux.
3 réponses
, Vous pouvez le faire comme ceci: -
>>> [False] * 10
[False, False, False, False, False, False, False, False, False, False]
REMARQUE: -
Notez que vous ne devriez jamais faire cela avec un list
de mutable types
avec la même valeur, sinon vous verrez des comportements surprenants comme dans l'exemple ci-dessous: -
>>> my_list = [[10]] * 3
>>> my_list
[[10], [10], [10]]
>>> my_list[0][0] = 5
>>> my_list
[[5], [5], [5]]
Comme vous pouvez le voir, les modifications que vous avez apportées dans une liste interne se reflètent dans toutes.
my_list = [False for i in range(n)]
Cela vous permettra de changer des éléments individuels car il construit chaque élément indépendamment.
Bien que, cette technique est une boucle.
Lorsque l'espace des questions, bytearray
est un meilleur choix. C'est environ cinq fois plus efficace que la liste des solutions booléennes.
Cela crée un tableau de N
valeurs, initialisé à zéro:
B = bytearray(N)