###前提・実現したいこと
最近Pythonを始めました。普段使っている言語はRubyです。
1 2 3 4 5 6
のようなタブ区切りメッセージを
[ [ 1,2,3 ], [ 4,5,6 ] ]
のような変数として格納したいと考えました。
###考えたこと
Rubyでは私は次のように書きます。
s = " 1 2 3 4 5 6 " tab = s.strip.split("\n").map {|s1| s1.split("\t").map(&:to_i) } p tab #=> [ [ 1,2,3 ], [ 4,5,6 ] ]
同じことをPythonでやろうとしたところ、次のようなコードになりました。
s = """ 1 2 3 4 5 6 """ tab = [ list(map( lambda s1: int(s1), s0.split("\t") )) for s0 in s.strip().split("\n") ] print(tab) #=> [ [ 1,2,3 ], [ 4,5,6 ] ]
発生している問題
map()
はmapオブジェクトを返すので、list()
で型変換する必要がありました。なにか無駄な回り道をしているような気がします。- はっきりした根拠はありませんが、書いたコードが読みづらい気がします。
お聞きしたいこと
普段Pythonを書いている皆さんならばどう考え、どう書きますか。
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。