次のコードがあります。
listOfStrings = ['i_am_exercising', 'python_functional', 'lists_comprehension']
[ "".join([elem.title() for elem in splited]) for splited in [el.split("_")for el in listOfStrings]]
この結果は次のとおりです。
['IAmExercising', 'PythonFunctional', 'ListsComprehension']
ドキュメントを読んで、同等の拡張バージョンを取得しました。これは、最初の式を追加する変数に入れ、リストの2番目の式を for ステートメントで反復します。
returned = []
for splited in [el.split("_")for el in listOfStrings]:
returned.append("".join([elem.title() for elem in splited]))
しかし、リストを理解せずに同じコードを書きたい場合、これを行う最善の方法は何ですか? 私はうまく動作する次のコードで試しました:
returned = []
temp = []
for el in listOfStrings:
temp = []
for splited in el.split("_"):
temp.append(splited.title())
returned.append("".join(temp))
しかし、私はこれを行う方法を完全には理解していませんでした(リスト内包表記を同等の完全拡張形式に変換してください)