没有循环可以将所有列表值初始化为某些bool吗?例如,我想要一个N个元素的列表都是False。
答案 0 :(得分:100)
你可以这样做: -
>>> [False] * 10
[False, False, False, False, False, False, False, False, False, False]
注意: -
请注意,您永远不应该使用具有相同值的list
mutable types
来执行此操作,否则您将看到类似下面示例中的令人惊讶的行为: -
>>> my_list = [[10]] * 3
>>> my_list
[[10], [10], [10]]
>>> my_list[0][0] = 5
>>> my_list
[[5], [5], [5]]
如您所见,您在一个内部列表中所做的更改将反映在所有这些内容中。
答案 1 :(得分:12)
my_list = [False for i in range(n)]
这将允许您更改单个元素,因为它独立构建每个元素。
虽然,技术上 是一个循环。
答案 2 :(得分:5)