我有一个布尔值列表,偶尔我会将它们全部重置为假。首次写入重置后,重置为:
for b in bool_list:
b = False
我发现它不起作用。我花了一点时间挠头,然后记得这当然不会起作用,因为我只是在改变对bool的引用,而不是它的值。所以我重写为:
for i in xrange(len(bool_list)):
bool_list[i] = False
一切正常。但我发现自己在问,“这真的是改变列表所有元素的最蟒蛇的方法吗?”有没有其他方法可以更有效或更清晰?
最佳答案
bool_list[:] = [False] * len(bool_list)
或
bool_list[:] = [False for item in bool_list]
关于python - 改变列表的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/409732/