Home > 未分類 > [ python ] popとかshiftとか、etc..

[ python ] popとかshiftとか、etc..

  • Posted by: tai
  • 2007/11/26 13:08
  • 未分類

MELを主に使っていたもので、popだのshiftだのといった一般的な配列操作関数の存在を忘れてしまい、
知らず知らずのうちに面倒なことをしてしまう癖が身についてしまった模様です。
癖というか、それでしか出来ないんだから仕方ないんですが、、

pythonにはそんな面倒なことをせずとも気楽に配列操作が出来る関数があるので、
とりあえずpush/pop/shift/unshiftとして有名な、出し入れ用の関数に関して少しメモ。


Cやその他の一般的な言語に代表される関数と、pythonでの関数を比較してみることにします。

まずそれらの簡単な説明。
push → 配列の末尾に要素を追加
pop → 配列の末尾から要素を削除
unshift → 配列の先頭に要素を追加
shift → 配列の先頭から要素を削除

例えばこんな感じ。

int ar[10];
int i =0;
for( i=0; i<10; i++ )
  ar.push( i );

これでarは0~9までの数字を順番に持つ配列となります。
MELだと、

int $ar[];
int $i = 0;
for( $i=0; $i<10; $i++ )
  $ar[$i] = $i;

となります。
なんとなく、pushを使ったほうがそれっぽい感じがして、個人的には好きです。

pythonで上記4つの関数を使いたいと思ったら、以下のようになるようです。
(参考にしたサイトはこちら

push( x ) → append( x )
pop() → pop()
unshift( x ) → insert( 0, x )
shift() → pop( 0 )

参考というか丸写しにさせていただきましたww

これを使えば配列の最後に要素を追加したい際に、下のように書かなくて良いのです。
$ar[ size( $ar ) ] = value;

これはMELですが、MELだとこれしか書き方が無いのでアレです。
まぁ自分で関数用意すればいいんですが、型ごとに関数用意するのもアレだし、ってことで、
大概上のように書いてしまってました。

python、いろいろ覚えること多いですが、省力化のためと思えば屁の河童(古い)です!

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.taikomatsu.com/2007/11/26/python-pop%e3%81%a8%e3%81%8bshift%e3%81%a8%e3%81%8b%e3%80%81etc/trackback/
Listed below are links to weblogs that reference
[ python ] popとかshiftとか、etc.. from memlog

Home > 未分類 > [ python ] popとかshiftとか、etc..

Return to page top