1

リストを作成し、プログラムを実行した後にしかわからない名前を付けたいと思います。

例えば:

#making shelfs
group_number = 1
group_name = 'group' + str(group_number)
print group_name

group_name は次のようになります: group1

ここで、group1 という空のリストを作成します。そのようなことをする方法は?

4

3 に答える 3

5

通常、これを辞書に入れるだけです。

d = {group_name:[]}

これで、辞書を介してリストにアクセスできるようになりました。例えば:

d['group1'].append('Hello World!')

globals()別の方法は、関数の結果 (辞書) を変更することです。これは間違いなく悪い習慣であり、避けるべきですが、使用しているツールについてもっと知ることは常に良いことなので、ここに含めます。

globals()[group_name] = []
group1.append("Hello World!")
于 2013-04-18T20:23:06.367 に答える
2

「group」で始まる変数の疑似名前空間を作成したいと考えています。代わりに dict を使用しないのはなぜですか?

#making shelfs
groups = {}
group_number = 1
name = str(group_number)
groups[name] = [] # or whatever
print groups[name]

関連オブジェクトのコレクションごとに新しい名前空間を作成することをお勧めしているため、これは @mgilson の回答とは微妙に異なります。

于 2013-04-18T20:35:45.030 に答える
1

これをして:

locals()['my_variable_name'] = _whatever_you_wish_

また

globals()['my_variable_name'] = _whatever_you_wish_

また

vars()['my_variable_name'] = _whatever_you_wish_

自分で違いを見つけるためにGoogle :P

于 2013-04-18T20:27:15.300 に答える