У меня есть список булевых. У меня также есть список начальных и конечных индексов. В моем списке булевых я хочу, чтобы каждое значение было True
, если оно не лежит в одном из срезов, определенных в списке индексов. То, что я написал, чувствует себя очень неуклюжим, любые предложения по его улучшению?Вставить повторяющееся значение во всех средах списка
bools = [True] * 15
events = [(3, 5), (11, 16)]
for e in events:
bools[e[0]:e[1]] = [False for x in range(*e)]
конкретно, я не люблю [False for x in range(*e)]
часть. Если я начинаю возиться с кусочками, то range(*e)
начинает запутаться, например:
bools[e[0]:e[1]+2] = [False for x in range(e[0], e[1]+2)]
Что бы очень приятно, если бы синтаксис, чтобы каждое значение в списке/секции принимают одинаковое значение, например
bools[e[0]:e[1]+2] = False
Но это, очевидно, неправильный синтаксис. Есть идеи?
совершенны, спасибо. –