更改布尔值Python 3

时间:2013-11-13 05:28:03

标签: python-3.x boolean

我正在尝试编写一个带有布尔值的代码,并将其交换为列表中的相反值。所以,让我说我开始使用100个Falses,并希望将每个Falses都改为True。然后我想将其他每一个改为False,从第二个开始。我希望这是有道理的。

一个例子是:

>>>False False False False False False False False False False
>>>True True True True True True True True True True
>>>True False True False True False True False True False
>>>True False False False True True True False False True 

2 个答案:

答案 0 :(得分:1)

使用列表理解和切片:

>>> lst = [False] * 10
>>> lst
[False, False, False, False, False, False, False, False, False, False]
>>> lst[:] = [not x for x in lst]
>>> lst
[True, True, True, True, True, True, True, True, True, True]
>>> lst[1::2] = [not x for x in lst[1::2]]
>>> lst
[True, False, True, False, True, False, True, False, True, False]

答案 1 :(得分:0)

将所有其他元素切换到相反的位置:

my_list = [False, False, False, False, False, False, False]
for index in range(0, len(my_list), 2):
    my_list[index] = not my_list[index]