GeeksforGeeks
Dată o listă de șiruri de caractere, scrieți un program Python pentru a converti fiecare element al listei date într-o sub-listă. Astfel, convertiți întreaga listă într-o listă de liste.
Exemple:
Input : Output : , , ]Input : Output : , , , , ]
Approape #1 : Abordare naivă
Utilizați o altă listă ‘res’ și o buclă for a. Folosind metoda split() din Python extragem fiecare element din listă sub forma listei propriu-zise și îl adăugăm la ‘res’. În cele din urmă, returnăm ‘res’. Un dezavantaj al acestei metode este că nu funcționează cu liste de numere întregi, deoarece obiectul „int” nu are atributul „split”.
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
, , ]
Abordarea #2 : Înțelegerea listei
Înțelegerea listei este o abordare eficientă deoarece nu utilizează spațiu suplimentar. Pentru fiecare element ‘el’ din listă, se adaugă pur și simplu la lista de ieșire.
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
, , ]
Apropiere #3 : Python map()
Codul dat mapează funcția el: pentru fiecare element din iterabilul dat ‘lst’. Prin urmare, scoate fiecare element ca o listă propriu-zisă.
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
, , ]