Pythonで、新たに作成するオブジェクト名をプログラムによって決める(割り当てる)にはどうすればいいのでしょうか。
たとえばfor等のループ中の処理で、list1、list2、list3といった名前のリスト型のオブジェクトを次々に生成したい場合などです。
統計処理でRを使うことがあるのですが、Rだとassignという関数を使うことで、新たに生成するオブジェクトの名前と、そこに放り込む中身を同時にプログラムによって指定することができました。
exec 文か、eval 関数を使います。
http://docs.python.jp/2/reference/simple_stmts.html#exec
http://docs.python.jp/2/library/functions.html#eval
でも、たいていの場合は配列か辞書型(ディクショナリ)で間に合うと思います。
既にコメントがついてるので、そちらで十分かな、という気もしますが。
数字が変わってゆくなら、list1、list2 という変数名ではなく、配列(リスト)のインデックスを変えれば良いじゃない、ということです。
2015/11/15 10:48:27つまり、連続した名前のつけられたオブジェクトをバラバラに生成しなければならない場面というのはあまりなく、まとめてリストの要素として扱っておけばよいし、名前でアクセスしたいなら辞書にしておけばいいということですね。
2015/11/16 23:43:59理解しました。