GeeksforGeeks
Dając listę ciągów znaków, napisz program w Pythonie, który przekształci każdy element podanej listy w podlistę. W ten sposób przekształca całą listę w listę list.
Przykłady:
Input : Output : , , ]Input : Output : , , , , ]
Podejście #1 : Podejście naiwne
Użyj innej listy 'res’ i pętli for. Używając metody split() Pythona wyodrębniamy każdy element z listy w postaci samej listy i dołączamy go do 'res’. Na koniec zwracamy 'res’. Jedną wadą tej metody jest to, że nie działa ona z listami integer, ponieważ obiekt 'int’ nie posiada atrybutu 'split’.
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
, , ]
Podejście #2 : List comprehension
List comprehension jest wydajnym podejściem, ponieważ nie wykorzystuje dodatkowego miejsca. Dla każdego elementu 'el’ na liście, po prostu dołącza go do listy wyjściowej.
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
, , ]
Podejście #3 : Python map()
Podany kod odwzorowuje funkcję el: dla każdego elementu podanej iterowalnej 'lst’. Stąd wyprowadza każdy element jako samą listę.
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
, , ]