単にスペース区切りのString型文字列(text)をリストに変換するだけだったら、次のようにコーディングするのが普通だろう。
list = text.split()
ただ、このままだと数値計算で利用するには極めて都合が悪い(list内の要素が全部String型だから)。
そこで、どうすればsplit()した文字列リストを簡単に数値リスト化出来るか考えてみた。
それも、極力実行速度重視で。
思い付いた方法は次の2つ。
list = numpy.array(text.split()) #import numpy list = [float(item) for item in text.split()] #List Comprehension
それぞれsplit()しただけの場合と比べてみたら、前者は約4倍、後者は約8倍の時間を要した。
実行時間だけに注目すると、List ComprehensionするのではなくNumPyを使うのが良さそう。
ちなみに、numpy.array()だとNumPyのArray型に変換されてしまうので若干気持ち悪い。
試しにlist(numpy.array(text.split()))とかやってみたんだが、これだとList Comprehensionした場合と大差無い処理速度になってしまった。
余計な事はしない方が良さそうだ。