我有一個類,看起來像這樣。如何使用Python中的循環將對象添加到類中?
class CharInStageList(object):
def __init__(self, charid, charname) :
self.charid = charid
self.charname = charname
進入這個類我想添加列表,我有。
我知道如何做到這一點的normall方式
charOne = CharInStageList(1,'Tim')
charTwo = CharInStageList(2,'Struppi')
那不是一個問題,什麼我其實想做的是通過使用一個循環來添加。
我得到了這種形式我的數據
((1,'Tim'),(4,'Struppi'))
或
((1,'Tim'),(4,'Struppi'),(5,'Nami'),(6,'Luffy'))
我在現場charachters的量是不同的百達。 我想象會是一個循環這樣
charlist = ((1,'Tim'),(4,'Struppi'))
for char in charlist
objname = CharInStageList(char[0],char[1])
像這樣
我希望objname表,以自身爲每個對象我添加到類改變。
我怎樣才能得到這個效果。 我只能使用Python 2.6.6這一點,因爲它是瑪雅2013蟒蛇
編輯:
THX @西拉射線@chepner @theodox我看着日文N3 N4 N5了一點,這幾乎是我需要什麼
我在其上使用了@chepner方法的修改版本。
object_dict = dict((y, CharInStageList(x,y)) for x,y in data)
就像一個魅力
我testcode看起來像這樣
import maya.cmds as cmds
dicttest = {}
def getdata():
global dicttest
data = ((1,'Tim'),(4,'Struppi'),(5,'Nami'),(6,'Luffy'))
dicttest = dict((y,(x,y)) for x,y in data)
getdata()
def printtest() :
for char in dicttest:
print dicttest[char]
printtest()
dicttest.clear()
我本來希望在你的答案與代碼exsamples發表評論,但我不能讓那個在那裏工作。
這有點令人尷尬,但我嘗試用一些代碼評論30次現在,我敢肯定我做了正確的空間,因爲它與問題一起工作。但它不會正確地結束。 – masamoto
代碼在評論中很棘手。你可以編輯你的問題來澄清你想要的。不過,我猜測,你希望'CharInStateList'充當一個容器。我會嘗試用我認爲你可能會問的問題更新我的答案。 – chepner