с=[1,4,1]
a=[2, 1, 2, 2, 1, 4] b=[2, 6, 4] c=list() j=0 for z1 in b: i=0 for z2 in a: if b[j]==(sum(a[j:i])): c.append(len(a[j:i])) break i=i+1 j=j+1 print(c)
с=[1,4,1]
a=[2, 1, 2, 2, 1, 4] b=[2, 6, 4] c=list() j=0 for z1 in b: i=0 for z2 in a: if b[j]==(sum(a[j:i])): c.append(len(a[j:i])) break i=i+1 j=j+1 print(c)
a=[2, 1, 2, 2, 1, 4]-#это количество экземпляров каждого типа b=[2, 6, 4]-#это количество экземпляров типов в каждом из трех классов с=[1,4,1]-#это три класса и каждая цифра это количество типов класса

a=[2, 1, 2, 2, 1, 4,3,4] b=[2, 6, 4,7] c=list() j=0 for z1 in b: i=0 for z2 in a: if b[j]==(sum(a[sum (c[:]):i+1])): c.append(len(a[sum (c[:]):i+1])) break i=i+1 j=j+1 print(c)
это плохое решение
a=[2, 1, 2, 2, 1, 4,3,4] b=[2, 6, 4,7] count = 0 sum_a = 0 c = [] for x in b: while x != sum_a: sum_a += a.pop(0) count += 1 else: c.append(count) count = 0 sum_a = 0 print(c)
miko2009Ну, вот его результат
я сделал как указал shaptmos, выполнил сет двух списков, отсортировал как мне нужно , и далее извлек первый arg в один список , а второй arg в другой. Все (как я и думал) очень просто по крайней мере получил нужный результат …..
>>> y ['a', 'a', 'b', 'd', 'a', 'd', 'b', 'd'] >>> z ['1', '1', '1', '1', '2', '2', '3', '3'] >>>
miko2009a=['a','a','b','d','b','d','d','a'] b=['1','1','1','1','3','3','2','2']
miko2009это влияет на время отклика программы и не более. Но я уже сказал что отсортировал set как мне нужно, не просто
ну желательно что бы не по порядку 123456 а именно как они возникают в списке
.sort()
a=[7.45, 9.84, 3.32, 4.79, 6.45, 7.33, 9.61, 9.61, 4.31, 4.92, 8.65, 10.03] b=[2, 1, 2, 2, 1, 4]
a=[7.45, 9.84, 3.32, 4.79, 6.45, 7.33, 9.61, 9.61, 4.31, 4.92, 8.65, 10.03] b=[2, 1, 2, 2, 1, 4] h=list() n=list() k=list() g=list() i=0 for z1 in b: p=z1 e=sum(h[:]) n.append(e) h.append(p) d=sum(h[:]) k.append(d) r=sum(a[e:d]) g.append(r) i=i+1 if i>len(b)-1: break print(g)
[17.29, 3.32, 11.24, 16.939999999999998, 9.61, 27.910000000000004]