Czy można ładniej zapisać ten kod? W zamyśle dostaję ciąg który muszę tak jak w programie podzielić na podciągi i posortować(za wyjątkiem pierwszego i 2 podciągu, ale to oczywiste). Działa, ale boli mnie deklarowanie tylu list, a potem po pętli tyle append'ów. Myślałem o lambdzie, ale też będę deklarować tyle list więc i tak sie nic nie zmieni.
Kod:
def fun(seq):
lo = []; la = []; li = []
le = []; lu = []; mn = []
for i in seq:
if i == 0:
li.append(i)
elif i == 1:
lo.append(i)
elif i%2 == 0:
la.append(i)
elif i%3 == 0 and not i%2 == 0:
le.append(i)
elif i%5 == 0 and not (i%2 == 0 and i%3 == 0):
lu.append(i)
else:
return
la.sort(); le.sort(); lu.sort()
mn.append(li)
mn.append(lo)
mn.append(la)
mn.append(le)
mn.append(lu)
print(mn)
seq = [1, 32, 345, 65, 342, 64, 0, 132, 0, 0]
fun(seq)