GeeksforGeeks
文字列のリストが与えられたとき、与えられたリストの各要素をサブリストに変換するPythonプログラムを書きなさい。
例:
Input : Output : , , ]Input : Output : , , , , ]
Approach #1 : Naive Approach
Use another list ‘res’ and a for a loop. Pythonのsplit()メソッドを使って、リストから各要素をリスト自身の形で取り出し、resに追加します。 最後にresを返します。 このメソッドの欠点は、int型オブジェクトにはsplitという属性がないため、整数型リストでは動作しないことです。
def
extractDigits(lst):
res
=
for
el
in
lst:
sub
=
el.split(
', '
)
res.append(sub)
return
(res)
lst
=
print
(extractDigits(lst))
出力します。
, , ]
アプローチ2:リスト内包
リスト内包は余分なスペースを使わないので、効率的なアプローチと言えます。 リスト内の各要素 ‘el’ に対して、単に出力リストに追加するだけです。
def
extractDigits(lst):
return
for
el
in
lst]
lst
=
print
(extractDigits(lst))
出力します。
, , ]
Approach #3 : Python map()
このコードでは、与えられた反復変数「lst」の各項目について関数el:をマップしています。 したがって、各要素はリストそのものとして出力されます。
def
extractDigits(lst):
return
list
(
map
(
lambda
el:, lst))
lst
=
print
(extractDigits(lst))
出力します。
, , ]
記事タグ: