Форум сайта python.su
0
Есть 4 списка , они идут парами. Два списка это база, другие два это новые.Например:
k=[1700,9000,1500,1700,2500] b=[240,300,180,170,250]
k1=[1700,9000,1500,1800,2500] b1=[240,300,180,190,250]
noviy= [(c1,d1) for c1,d1 in zip(k,b)] print(noviy) baza= [(c1,d1) for c1,d1 in zip(k1,b1)] print(syhbaza) sravnenie= [e for e in noviy if not e inbaza] print(sravnenie)
Отредактировано miko2009 (Март 5, 2016 20:23:43)
Офлайн
76
k=[1700,9000,1500,1700,2500] b=[240,300,180,170,250] k1=[1700,9000,1500,1800,2500] b1=[240,300,180,190,250] noviy= [(c1,d1) for c1,d1 in zip(k,b)] print(noviy) baza= [(c1,d1) for c1,d1 in zip(k1,b1)] print(baza) sravnenie= [e for e in (list(enumerate(noviy))) if not e in (list(enumerate(baza)))] print(sravnenie[0][0])
Офлайн
0
спасибо , а я пока ждал ответа вот такой вариант наваял
k=[(1700, 240), (9000, 300), (1500, 180), (1700, 170), (2500, 250)] k1=[(1500, 180)] i=0 index=list() for a in k1: i=0 for z in k: if a==z: index.append(i+1) if i>5: break i=i+1 print(index)
Отредактировано miko2009 (Март 5, 2016 21:47:27)
Офлайн
23
k=[1700,9000,1500,1700,2500] b=[240,300,180,170,250] k1=[1100, 9000, 1500,1800,2500] b1=[240,300,180,190,250] def calculate_indexes(seq1, seq2): return [n for n, (x, y) in enumerate(zip(seq1, seq2)) if x != y] print(calculate_indexes(k, k1)) print(calculate_indexes(b, b1))
Отредактировано vrabey (Март 5, 2016 23:30:35)
Офлайн