Заполнить массив нулями и единицами
Заполнить массив нулями и единицами, при этом данные значения чередуются, начиная с нуля. Помогите пожалуйста
Ответы (3 шт):
Автор решения: 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)