True
имеет целочисленное значение 1
в Python, поэтому, когда цикл повторяет целое число i
от 0
до длины c
и выполняет побитовые операции, а также i
и 1
, он эффективно проверяет, является ли i
нечетным числом, и, если это так, выполняет оператор pass
(где я считаю, что в вашем реальном коде больше кода).
Что касается более эффективного способаСделайте это, вместо того чтобы генерировать все числа от 0 до длины c
и отфильтровывать четные числа, вы можете использовать параметр step
функции range
для генерации желаемой последовательности нечетных чисел в первую очередь:
for i in range(1, len(c), 2):
pass