ループなしですべてのリスト値をブールに初期化することは可能ですか?たとえば、N個の要素のリストをすべてFalseにしたいです。
次のようにできます:-
>>> [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]]
ご覧のとおり、1つの内部リストで行った変更は、それらすべてに反映されます。
my_list = [False for i in range(n)]
これにより、各要素を個別に構築するため、個々の要素を変更できます。
ただし、これは技術的にはisループです。