GeeksforGeeks
Geef een lijst van strings, schrijf een Python programma om elk element van de gegeven lijst om te zetten in een sublijst. Zo wordt de hele lijst omgezet in een lijst van lijsten.
Voorbeelden:
Input : Output : , , ]Input : Output : , , , , ]
Aanpak #1 : Naïeve Aanpak
Gebruik een andere lijst ‘res’ en een for a loop. Met behulp van split() methode van Python halen we elk element uit de lijst in de vorm van de lijst zelf en voegen het toe aan ‘res’. Tenslotte geven we ‘res’ terug. Een nadeel van deze methode is dat ze niet werkt met een integer lijst omdat het object ‘int’ geen attribuut ‘split’ heeft.
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
, , ]
Aanpak #2 : List comprehension
List comprehension is een efficiënte aanpak omdat er geen extra ruimte wordt gebruikt. Voor elk element ‘el’ in de lijst, wordt deze eenvoudig aan de uitvoerlijst toegevoegd.
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
, , ]
Aanpak #3 : Python map()
De gegeven code mapt de functie el: voor elk item van de gegeven iterable ‘lst’. Zo wordt elk element als een lijst zelf uitgevoerd.
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
, , ]