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

时间:2018-04-13 05:06:24

标签: python list

包含元素的列表:

for(b = 0; b < 5; b++)

只想将其所有值更改为true

mylist = [3,7,8,9,2,4,6]

我可以用for循环来做。

希望用pythonic方式做,最好是一个班轮

4 个答案:

答案 0 :(得分:7)

mylist = [True for _ in mylist]

答案 1 :(得分:5)

有几种方法可以做到这一点(这样我们在Perl-land中比Python更多):

# 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)

所有这些用新列表替换<{em>绑定到mylist的给定列表。如果要改变mylist指向就地的列表,可以使用索引编号:

# Assignment (mutates existing list)
mylist[:] = [True] * len(mylist)

答案 2 :(得分:2)

您可以将lambdamap功能

一起使用
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]

答案 3 :(得分:2)

这应该适合你:

>>> mylist = [True] * len(mylist)

说明:使用默认值初始化列表= True,大小与现有列表相同。