1

I'm trying to write a code that takes a Boolean value and swaps it for the opposite in a list. So let's say I start out with 100 Falses and want to change every one to True. Then I want to change every other one to False, starting at the second one. I hope that makes sense.

an example would be:

>>>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 
Whoo Cares
  • 141
  • 1
  • 4
  • 11

2 Answers2

1

Using list comprehension and slicing:

>>> 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]
falsetru
  • 357,413
  • 63
  • 732
  • 636
0

Switch every other element to its opposite:

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]
JoelWilson
  • 404
  • 3
  • 13