或阿呆のブログ

巷では、武器商人@ダーツで通っていました。Python好き好きプログラマーです。芥川龍之介、太宰治が好きです。

リストにappendするのに予め変数を確保してループで回していたけど、そんな必要なかった件。

スポンサーリンク

0〜9までの数値を格納したリストを生成する処理を書く。

>>> for i in range(0,10):
	l.append(i)

こう書きたいところなんだけど、lが未定義だよと怒られる。

>>> l=[]
>>> for i in range(0,10):
	l.append(i)

こう書けば通る。だけど、Pythonの良さは、変数の宣言が必要ないこと。使用時、実行時に動的に解釈して型をつけてくれるところだと思っている。予めリストの箱を用意するなんていうことは、いかにも不細工。また、forループでrangeを使うのは速度的にもあまり良くないらしい。

そもそも、この処理にはforを使う必要がない。Pythonで予め用意されている標準関数だけで実現出来る。

>>> l = range(0,10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

ほら出来た。

Pythonで何か処理を行うプログラムを書くとき、まずは標準関数だけでどうにか出来ないか、調べて見たほうが良さそうだ。標準関数で無い場合、次に探すべきはライブラリだ。そして、それでもない場合はサードパーティモジュール。ニーズの高い処理は、それらでまず解決出来るだろう。あるいは、それらの組み合わせによって解決出来る場合がほとんど。