1

だから私は「トリガー」の.txtリストを持っています。私がやりたいのは、このトリガーのリストにアクセスし、トリガー名を決定し、その名前を使用して、私が持っているクラスの新しいインスタンスを指し、それを呼び出すことWordTriggerです。どうすればいいのかわからない。変数を知っていれば、を介してクラスを変数に割り当てることができますvar = WordTrigger(parameters)。しかし、問題の大前提は、私​​が変数を知らないので、リストをスキャンしてそれらの名前を見つけなければならないということです。nameクラスの属性を作成できることはWordTriggerわかっていますが、理論的にはトリガーのリストの長さすらわからないため、クラスインスタンスを割り当てる変数の問題が残ります。静的な数の変数を作成することはできません。

ワードリストがx個の長さの場合、x個の変数を作成し、ワードリストから抽出された名前を持つクラスの新しいインスタンスを指す方法はありますか?それが理にかなっていることを願っています。

4

1 に答える 1

4

辞書を使う:

dic={word:WordTrigger(parameters) for word in wordlist}

例:

>>> wordlist=['a','b','c','d','e']
>>> class A:
    def __init__(self,i):
        self.ind=i


>>> dic={word:A(i) for i,word in enumerate(wordlist)}
>>> dic['a'].ind
0
>>> dic['c'].ind
2
于 2012-09-25T21:19:58.573 に答える