Заполнить массив нулями и единицами

Заполнить массив нулями и единицами, при этом данные значения чередуются, начиная с нуля. Помогите пожалуйста


Ответы (3 шт):

Автор решения: n1tr0xs
n = 50 # длина массива
a = [i%2 for i in range(n)]
→ Ссылка
Автор решения: eri

А ещё проще

(0,1) * 10

если массив это list,

[0,1]*10

а на 19 элементов можно обрезать

([0,1]*10)[:19]
→ Ссылка
Автор решения: Zhihar

способ 1:

arr = [i % 2 for i in range(n)]

способ 2:

arr = ([0, 1] * ((n + 1) // 2))[:n]

чуть менее оптимально, но более коротко:

arr = ([0, 1] * n)[:n]

способ 3:

изврат на способе 1:

arr = list(map(lambda i: i % 2, range(n)))

способ 4:

изврат на способе 2:

arr = list(str(bin(int("0x" + "A" * n, 16)))[3:3 + n])

способ 5:

generate = lambda n, s = False: [int(s)] + generate(n - 1, not s) if n > 0 else []
arr = generate(n)
→ Ссылка