Comprensione dell’elenco su un elenco nidificato?

| | |

Ho questo elenco annidato:

l = [["40", "20", "10", "30"], ["20", "20", " 20", "20", "20", "30", "20"], ["30", "20", "30", "50", "10", "30", "20", " 20", "20"], ["100", "100"], ["100", "100", "100", "100", "100"], ["100", "100", " 100", "100"]] 

Ora, quello che voglio fare è convertire ogni elemento in una lista in float. La mia soluzione è questa:

newList = [] for x in l: for y in x: newList.append(float(y)) 

Ma questo può essere fatto usando la comprensione dell'elenco annidato, giusto?

quello che ho fatto è:

[float(y) for y in x for x in l] 

Ma poi il risultato è un mucchio di 100"s con la somma di 2400.

qualsiasi soluzione, una spiegazione sarebbe molto apprezzata. Grazie!