Dato una lista di ingressoRaggruppa elementi di un elenco con un python a gradini?
l = [1 2 3 4 5 6 7 8 9 10]
e dimensione grp gruppo e passo passo
grp = 3; step = 2
desidero restituire un elenco. Si noti la ripetizione alla fine
1 2 3
3 4 5
5 6 7
7 8 9
9 10 1
o se
grp= 4; step = 2
l'uscita dovrebbe essere
1 2 3 4
3 4 5 6
5 6 7 8
7 8 9 10
Questo è il codice mi è venuta con esso non fare la cosa ciclica. Ma vorrei sapere se v'è un minore o una soluzione più semplice
def grouplist(l,grp,step):
oplist = list()
for x in range(0,len(l)):
if (x+grp<len(l)):
oplist.append(str(l[x:x+grp]))
return oplist
Per me il conflitto due esempi. Si prega di mostrarne uno per passo = 1. O è quello che dovrebbe essere l'esempio 1? – Pynchia
@Pynchia i due esempi non sono in conflitto. Entrambi hanno 'step = 2' quindi il primo numero sulla seconda riga dovrebbe essere' 3' quale è. – SirParselot
Perché per grp 4 step 2 ci si riprende da 1 invece che da 10? – wim