Написание некоторых тестовых примеров, и мой ум блуждает, предполагая, что есть лучший способ написать что-то вроде этого. У меня есть список, число его переходов от всех нечетных значений ко всем четным, не имеет значения где. Мне нужно утверждать, что это так, вот что я придумал:
values = [1, 3, 5, 7, 5, 3, 5, 3, 5, 7, 4, 6, 8, 4, 2, 2, 8, 6]
# find all the indexes of odd and even values
odds = [i for (i, v) in enumerate(values) if v % 2 == 1]
evens = [i for (i, v) in enumerate(values) if v % 2 == 0]
# indexes should be a continuous sequence: 0, 1, 2, 3 ... n
assert odds + evens == range(evens[-1] + 1)
Кажется, это долгий путь. Предложения о том, как это можно уменьшить?