2013-10-10 55 views
0

予定義的類與它的內部3點的對象:如何將類對象分配給列表中的項目? (蟒)

class abc(): 
    __slots___ = ('1','2',3') 

從這裏,我由包含在成千個元素的列表:

lst = [[abc,dfg,9292],[ksdj,lkjsd,9239],...] 

每個元件內的第三個因素是總是一個數字。我想將我的類中名爲3的對象分配給第三個元素,以便我可以對列表進行排序。

爲了澄清一些誤解,對象3實際上是數量。因此,每個元素中的第三個元素被視爲一個數量。

+1

這是哪一種語言? –

+0

看起來像我的Python ... @steve糾正我,如果我錯了請。 – dwerner

+0

你班上叫什麼3的對象?你不能有這樣的變量名稱。你能解釋一下你的意思嗎?「從這裏,我列出了一個包含大約一千個元素的列表?」我真的不明白你寫的東西 – YXD

回答

1

目前還不清楚您是否嘗試對列表進行排序,從列表中的元素創建abc的實例,或者完全不同。

假設你想通過每個子表的第三個元素進行排序列表:

lst.sort(key = lambda x: x[2]) 

將取代你的列表進行排序。

如果要從列表中的每個元素創建一個類型爲abc的對象,則需要弄清楚您對每個列表元素的數據做了什麼。如果你只是想將其存儲爲實例變量,你可以做這樣的事情:

class ABC(): 
    __slots__ = ('a', 'b', 'c') 
    def __init__(self, a, b, c): 
     self.a = a 
     self.b = b 
     self.c = c 

obj_list = [ABC(*x) for x in lst] 

如果這就是你想要的然後,您可以解決這導致的對象名單。

+0

OP也許也希望看看'collections.namedtuple' - 但是他們很不清楚它們在做什麼之後 –

相關問題