У меня есть дикт и список, как в примере ввода ниже. Я хотел бы создать новый dict, где ключи - это те же ключи, что и в первом dict, а значения - это список индексов ненулевых значений в списке «Lst» в диапазоне длины списка. от значений в первом dict плюс 1. Затем увеличивается до следующей длины значений из следующего ключа плюс 1.
Так, например, dct [1] имеет значение длины 3, поэтому мы посмотрим на первое 4 значения в Lst и возвращаемые индексы 1 и 3 как ненулевые, тогда для dct [2] мы рассмотрим индексы с 5 по 7. Кто-нибудь знает какой-нибудь хитрый способ сделать это? Я думаю, вероятно, для l oop, но мне интересно, не существует ли какой-либо точки типа продукта, которую я мог бы осуществить.
input:
dct={1:[1,1,1],2:[1,1]}
Lst=[0,1,0,1,1,1,1]
output:
{1:[1,3],2:[4,5,6]}