2016-07-28 4 views
-1

1000 개의 항목이있는 목록이 있지만 특정 범위 만 호출하고 싶습니다.목록에있는 개체 그룹을 호출하는 올바른 구문은 무엇입니까?

class myClass(): 

    def event(self): 
     #do stuff 


my_list = [myClass(i) for i in range(1000)] 

#incorrect part: 
my_list[0 - 10].event() 

처음 9 개 개체에 대해서만 "이벤트"를 호출하려고한다는 의미입니다. 이것을 작성하는 올바른 방법은 무엇입니까?

+0

참조 http://stackoverflow.com/questions/509211/explain-pythons-slice-notation –

답변

6

는이 작업을 수행합니다 : 당신은 단지 첫번째 9 개 객체를 호출하려는 때문에

for obj in my_list[:9]: 
    obj.event() 

참고 인덱스 0-8 즉 0,1,2,3,4,5,6를 사용해야합니다, 7, 8

3
[x.event() for x in my_list[:9]] 

또는

list(map(lambda x: x.event(), my_list[:9])) 

또는

, @khredos에서 알 수 있듯이,

for obj in my_list[:9]: 
    obj.event() 

myClass.event()이 결과를 유지하고 싶다면 (첫 번째는 가장 평온한 것입니다. 반면에 myClass.event()에 부작용이있는 경우 (물론 결과를 유지하고 싶지 않은 경우) 세 번째 방법을 사용하십시오.

관련 문제