私はこのコードを目的どおりに機能させることができましたが、なぜこの点については困惑しています。文字列からフレーズをリストに格納する
アイデアは、各行から情報を抽出することです(スペースや余分なタブ記号なしで)。
def extract_information(line: str) -> list:
return [phrase.strip() for phrase in line.split(' ') if phrase]
そして、それは動作します:
私が見つけたコードは以下の通りです!しかし、それは1ライナーなので、それを解読しようとするのは苦労しています。私は完全にループを書き出すために使用されました。
Ie.
print(extract_information("Marni FIGHTS FOR LIFE Old Shack Will rule the kingdom"))
になる必要があります。
['Marni', 'FIGHTS FOR LIFE', 'Old Shack', 'Will rule the kingdom']
誰もがこのことについての手掛かりを持っていますか?
私はdownvoteをしませんでしたが、あなたの答えが実際にOPの疑問に対処していないことは明白です。彼らにはリストのcompが必要ですが、 '[a * 2 for a x] 。あなたが助けてくれると思うが、問題の長さに対処するつもりはないなら、コメントがより適しているだろう。 –
彼はなぜ1つのライナーが動作するのか尋ねています。彼のコードを修正したり何かを解決しようとしているわけではなく、何が起こっているのかを彼に見せてもらうだけです。 – SuperStew
うーん、確かに私は間違っていましたが、あなたの答えはまだコードが動作する理由を説明していません。ちょうどそれはリストcomprhensionを使用して...それ以上のものはありません。 –