0
イベントのために接続するために、ループ内にたくさんの関数を作成したかったのです。 関連するコードはかなりこれです:予期せずループインデックスに基づいて関数を定義する適切な方法はありますか?
for i in range(10):
#Create function for current index
tmp = lambda: self.do_something(i)
#and connect event to the function
event.connect(tmp)
、(少なくとも私にとっては)、呼び出されたとき - 私は= 9 は単なるリストcomprehentionとipythonで同じコードをテストし、それかのように、すべての機能が動作し同じように動作します。
l = [lambda:i for i in range(10)]
list(x() for x in l)
をし、出力は次のようになります。
Out[15]: [9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
10のDIFを作成するという目標を達成するための適切な方法は何これらの機能はこのように機能しますか?