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

pyl*_*ist 1 python list

包含元素的列表:

mylist = [3,7,8,9,2,4,6]
Run Code Online (Sandbox Code Playgroud)

只是想将其所有值更改为true

mylist = [True,True,True,True,True,True,True]
Run Code Online (Sandbox Code Playgroud)

我可以用for循环来做.

我想用pythonic的方式做一个衬垫

kin*_*pps 7

mylist = [True for _ in mylist]
Run Code Online (Sandbox Code Playgroud)


Sea*_*ira 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)
Run Code Online (Sandbox Code Playgroud)

所有这些都mylist新列表替换绑定的给定列表.如果要改变mylist指向就地的列表,可以使用索引赋值:

# Assignment (mutates existing list)
mylist[:] = [True] * len(mylist)
Run Code Online (Sandbox Code Playgroud)