ブール値のリストがあります。開始インデックスと終了インデックスのリストもあります。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
しかし、これは明らかに正しい構文ではありません。何か案は?