2014-03-05 107 views
1

創建對象,我要動態地從一類我創建創建了很多對象:迭代在Python

class student(object): 
    pass 

myList=[x,y,z] 

for obj in myList: 
    obj=student() 

現在,這是理論,但解釋給我:

NameError: name 'x' is not defined 

所以,如何從我的自定義類創建大量對象?

感謝

回答

0

x, y, z被視爲變量。由於他們沒有在任何地方定義,你會得到這個例外。做你想做什麼,你可以用None初始化列表:然後

myList = [None, None, None] 

,注意在:

for obj in myList: 
    # some modification to obj 

myList元素將不會被修改,因爲obj得到的副本每個迭代中的元素。您可以使用索引來訪問列表中的元素:

myList = [None, None, None] 

for index in range(len(myList)): 
    myList[index] = student()