2013-04-08 15 views

risposta

19

si desidera qualcosa di simile:

composite_list = [my_list[x:x+5] for x in range(0, len(my_list),5)] 

print (composite_list) 

uscita:

[['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']] 

Che cosa si intende per una "nuova" 5 elementi?

Se si desidera aggiungere a questa lista si può fare:

composite_list.append(['200', '200', '200', '400', 'bluellow']) 
1

si potrebbe fare in una sola frase come

>>> import math 
>>> s = ['-200', ' 0', ' 200', ' 400', ' green', '0', '0', '200', '400', ' yellow', '200', '0', '200', '400', ' red'] 
>>> [s[5*i:5*i+5] for i in range(0,math.ceil(len(s)/5))] 

L'uscita dovrebbe essere:

[['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']] 
+0

dispiace ~ comprendono male. Lo aggiorneremo immediatamente. – Sheng

0

Penso che dovrai creare 1 nuova lista, ma se ho capito bene, vuoi una lista annidata con 5 elementi in ogni sottolista.

si potrebbe provare la seguente:

l = ['-200', ' 0', ' 200', ' 400', ' green', '0', '0', '200', '400', ' yellow', '200', '0', '200', '400', ' red'] 

new = [] 
for i in range(0, len(l), 5): 
    new.append(l[i : i+5]) 

Questo farà un passo attraverso la vostra prima lista, 'l', e il gruppo 5 elementi insieme in un elenco secondario nella nuova. Uscita:

[['-200', ' 0', ' 200', ' 400', ' green'], ['0', '0', '200', '400', ' yellow'], ['200', '0', '200', '400', ' red']] 

Spero che questo aiuti

Problemi correlati