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

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

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がいろいろな名前を持っているので、自由だけど画一的では無いとも言える。