0

非常に多くの文字列があり、すべて「lot1」、「lot2」、「lot3」のようにフォーマットされています...私がやりたいのは、関数の引数を使用して、使用する変数を決定することです。疑似例を次に示します。

def printlot(someInt):
    print lot%i % (someInt)

基本的に、複数の文字列を使用して、操作する別の文字列の名前を形成したいと考えています。これは非常に簡単に思えますが、2 年間 Python を使用している間は、その方法を学んでいませんでした。

4

2 に答える 2

2

nneonneo が言ったことは正しいですが、実際には dict を明示的に使用したいと思うでしょう。つまり、次のようにします。

lot_data = {'lot1': 10, 'lot2': 20, 'lot3': 30}
i = 2
print lot_data['lot%d' % i]

これの代わりに:

lot1 = 10
lot2 = 20
lot3 = 30
i = 2
print vars()['lot%d' % i]
于 2012-09-30T01:09:02.803 に答える
1

vars組み込み関数を使用して、すべての可視変数に辞書としてアクセスできます。

vars()['lot%d' % someInt]

globalsまたはを使用して、さまざまなスコープにアクセスできますlocals

ただし、これは一般的に「非 Pythonic」動作と見なされることに注意してください。類似した名前の変数を多数作成する代わりに、リストまたは辞書を作成するのが Python らしいアプローチです。

于 2012-09-30T01:04:43.487 に答える