GeeksforGeeks
Při zadání seznamu řetězců napište v Pythonu program, který převede každý prvek daného seznamu na podseznam. Tedy převedení celého seznamu na seznam seznamů.
Příklady:
Input : Output : , , ]Input : Output : , , , , ]
Přístup č. 1 : Naivní přístup
Použijte další seznam ‚res‘ a smyčku for. Pomocí metody split() jazyka Python vyjmeme každý prvek ze seznamu ve tvaru samotného seznamu a připojíme jej k ‚res‘. Nakonec vrátíme ‚res‘. Jednou z nevýhod této metody je, že nefunguje s celočíselným seznamem, protože objekt ‚int‘ nemá atribut ‚split‘.
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
, , ]
Přístup č. 2 : Porozumění seznamu
Porozumění seznamu je efektivní přístup, protože nevyužívá prostor navíc. Každý prvek ‚el‘ v seznamu jednoduše připojí k výstupnímu seznamu.
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
, , ]
Postup #3 : Python map()
Daný kód mapuje funkci el: pro každou položku dané iterovatelné ‚lst‘. Vypíše tedy každý prvek jako samotný seznam.
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
, , ]