2013-10-10 3 views
0

제가 그 안에 3 객체의 클래스를 정의 :클래스 개체를 목록의 항목에 할당하는 방법은 무엇입니까? (파이썬)

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

각 요소 내에 세 번째 요소는 : 여기에서

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

, I는리스트 천 개 요소 주위 함유했다 항상 숫자. 목록을 정렬 할 수 있도록 세 번째 요소에 내 클래스에 3이라는 개체를 할당하려고합니다.

오해를 명확히하기 위해 객체 3은 실제로 수량입니다. 따라서 각 요소의 세 번째 요소는 수량으로 간주됩니다.

+1

어떤 언어입니까? –

+0

저에게 python처럼 보입니다 ... @steve 내가 잘못하면 제게 정정하십시오. – dwerner

+0

수업 중에 3이라는 객체가 무엇입니까? 당신은 그런 변수 이름을 가질 수 없습니다. "여기에서부터 약 1,000 가지 요소를 포함하는 목록을 만들었습니까?"라는 의미를 설명 할 수 있습니까? 나는 정말로 당신이 쓴 것을 이해하지 못합니다. – YXD

답변

1

목록을 정렬할지, 목록의 요소 또는 전혀 다른 것으로 abc의 인스턴스를 만들지는 명확하지 않습니다.

각 하위 목록의 3 요소하여 목록을 정렬 싶었 가정 :

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'을보고 싶어 할지도 모른다. 그러나 그들이 무엇을하고 있는지에 관해서는 아직 명확하지 않다. –