首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改列表的元素

更改列表的元素
EN

Stack Overflow用户
提问于 2009-01-03 20:07:29
回答 7查看 7.9K关注 0票数 15

我有一个布尔值列表,有时我会将它们全部重置为false。在第一次将重置写为:

for b in bool_list:
    b = False

我发现它不起作用。我花了片刻的时间挠头,然后记起它当然不会起作用,因为我只改变了对bool的引用,而不是它的值。所以我重写为:

for i in xrange(len(bool_list)):
    bool_list[i] = False

一切都很好。但我发现自己在问:“这真的是改变列表中所有元素的最简单的方式吗?”有没有其他更有效或更清晰的方法?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-01-03 23:12:00

bool_list[:] = [False] * len(bool_list)

bool_list[:] = [False for item in bool_list]
票数 11
EN

Stack Overflow用户

发布于 2009-01-03 20:13:15

如果您只有一个对列表的引用,则以下操作可能会更容易:

bool_list = [False] * len(bool_list)

这将创建一个用False元素填充的新列表。

有关类似的示例,请参阅我对Python dictionary clear的回答。

票数 13
EN

Stack Overflow用户

发布于 2009-01-03 20:30:42

这是另一个版本:

bool_list = [False for item in bool_list]
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/409732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档