0
我已經定義了具有多個屬性的對象的getString()..蟒蛇:使用選擇框來獲取數據,除了
class thing(object):
def __init__(self, type, name, attrA, attrB, attrC):
self.type = type
self.name = name
self.attrA = attrA
self.attrB = attrB
self.attrC = attrC
可以說,那麼我的事情的清單
self.things=[thing('car','fred',1,2,3),
thing('car','george',a,b,c),
thing('truck','bob',6,7,8),
thing('truck','tom',x,y,z)
]
然後,我填充選擇框中的某些項目從該列表
for each in self.things:
if each.type == 'car':
self.choiceCar.Append(item=each.name)
當用戶從下拉列表中選擇鮑勃我有一個n事件
def EvtChoice(self,event):
self.Name = event.GetString()
這將捕獲選擇的名稱,但是如何獲取其他屬性?什麼我目前做的是
for each in self.items:
if self.Name == each.name
#Get other things here
我的想法是,如果我的列表變大則因爲用戶已經選擇了我想要的特定項目這個循環通過我的整個列表會變得非常低效的,真正不必要的。我認爲我應該能夠做的就是獲得所選項目的索引,但我不知道該怎麼做,或者即使這是正確的方式去做。
正是我需要的。謝謝 – ccwhite1 2011-06-02 14:31:07