2010年
5月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

セットアップ日記


2010年05月06日 rubyとpythonのarrayとlist

_ 配列に関するコマンドの違い

久々にpythonの勉強を再開した。頭がrubyで硬度9ぐらい固いので、なかなかpythonが覚えられないが、クネクネと柔らかくしていかなければならない。今回は、いわゆる配列に関するコマンドをまとめてみた。
pythonruby
l=['0','1','2']a=['0','1','2'] or %w(1 2 3)
l[1]a[1]
l[1:2]a[1...2] or a.slice(1...2)
len(l)a.size or a.length
l.append('3')a.push('3') or a<<'3'
l.pop()a.pop
l.extend(['3','4'])a.concat(['3','4'])
l.sort()a.sort!
l.index('2')a.index('2')
l.reverse()a.reverse!
del(l[1])a.delete_at(1)
del(l[1:2])a.slice!(1..2)
l.insert(1,'0.5')a.insert(1,'0.5')
l.remove('1')a.delete('1')
'3' in la.include?('3')
pythonではリストと呼ぶが、pythonのリストに対する代表的なコマンドを、rubyの配列に対するメソッドと比べてみた。rubyはすべてmethodになっているが、pythonの場合、methodだったりビルトイン関数だったりと、一定していないように感じられる。その意味では、rubyの方が統一的なのだが、rubyでは同じことをするmethodがいろいろな名前を持っているので、自由だけど画一的では無いとも言える。
[]