首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以pythonic方式将所有列表元素更改为true

以pythonic方式将所有列表元素更改为true
EN

Stack Overflow用户
提问于 2018-04-13 05:06:24
回答 4查看 101关注 0票数 1

包含下列内容的清单:

代码语言:javascript
运行
复制
mylist = [3,7,8,9,2,4,6]

只是想把它的所有价值都变成真

代码语言:javascript
运行
复制
mylist = [True,True,True,True,True,True,True]

我可以用for循环来做。

想要用节奏曲的方式做最好是一条船

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-04-13 05:08:18

可以将lambdamap函数结合使用。

代码语言:javascript
运行
复制
In [11]: mylist = [3,7,8,9,2,4,6]
#python 2.7
In [12]: mylist = map(lambda x: True,mylist)
#python 3.x
In [12]: mylist = list(map(lambda x: True,mylist))
In [13]: mylist
Out[13]: [True, True, True, True, True, True, True]
票数 2
EN

Stack Overflow用户

发布于 2018-04-13 05:08:48

代码语言:javascript
运行
复制
mylist = [True for _ in mylist]
票数 7
EN

Stack Overflow用户

发布于 2018-04-13 05:11:48

有几种方法可以做到这一点(通过这种方式,我们更多地使用Perl-land而不是Python):

代码语言:javascript
运行
复制
# List duplication
mylist = [True] * len(mylist)

# Comprehensions
mylist = [True for x in mylist]

# Fill with itertools
from itertools import repeat
mylist = repeat(True, len(mylist) - 1)

所有这些都将绑定到mylist的给定列表替换为新的列表。如果要更改mylist指向的列表,可以使用索引赋值:

代码语言:javascript
运行
复制
# Assignment (mutates existing list)
mylist[:] = [True] * len(mylist)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49809657

复制
相关文章

相似问题

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