GeeksforGeeks
Data una lista di stringhe, scrivi un programma Python per convertire ogni elemento della lista data in una sotto lista. Così, convertendo l’intera lista in una lista di liste.
Esempi:
Input : Output : , , ]Input : Output : , , , , ]
Approccio #1 : Approccio ingenuo
Utilizza un’altra lista ‘res’ e un ciclo for a. Usando il metodo split() di Python estraiamo ogni elemento dalla lista nella forma della lista stessa e lo aggiungiamo a ‘res’. Infine, restituiamo ‘res’. Uno svantaggio di questo metodo è che non funziona con le liste di interi poiché l’oggetto ‘int’ non ha l’attributo ‘split’.
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
, , ]
Approccio #2: Comprensione della lista
La comprensione della lista è un approccio efficiente perché non fa uso di spazio extra. Per ogni elemento ‘el’ nella lista, semplicemente si aggiunge alla lista in uscita.
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
, , ]
Approccio #3: Python map()
Il codice dato mappa la funzione el: per ogni elemento dell’iterabile dato ‘lst’. Quindi emette ogni elemento come una lista stessa.
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
, , ]