2017-10-12 2 views
0

물론파이썬에서 for 루프를 (가상) 꾸미기위한 해결 방법은 무엇입니까?

Statement decorators

에서 읽을 때 나는이 파이썬에서 직접적 가능하지 알고 있지만 아직도 내가 프로그램 (오프와) 같은 루프 설정하는 방법을 찾을 싶습니다

for i in range(L[0:N])): 
    # estimate how much time it 
    # took to run the loop over a subset N element of the list 
for i in range(L): 
    # do stuff on the full list 

for i in range(L[:]): 
    # do stuff 

그렇게 할 수있는 파이썬 방법이 있습니까?

+0

에게 무엇입니까? 가장 쉬운 방법은'N' 옵션 매개 변수를 기본값으로 'None'으로 설정하는 것입니다. – jdehesa

+2

L은 무엇입니까? 예제 중 하나에서는 정수이고 다른 예에서는 반복 가능한 형식 인 것으로 보입니다. ''L [0 : N]''이 연속 일 때''range (L [0 : N])''은 의미가 없습니다. – allo

+0

for 루프를 데코레이터로 사용할 수있는 함수에 넣지 않는 이유는 무엇입니까? 데코레이터가되어야하나요? – Dschoni

답변

1

이의이 L를 가정 해 보자는 목록이 기능 "에 설정 및 해제"하고 싶은 방법

import time 

def timed_loop(L,subset,timeout): 
    start = time.time() 
    for i in L[0:subset]: 
     do_something() 
    stop = time.time() 
    if stop-start < timeout: 
     for i in L: 
      do_something_else() 
+0

니스. L이 일반적인 iterable 일 경우에도 그렇게 될까요? – ErroriSalvo

+0

당신이 색인을 붙일 수있는 한 나는 이렇게 말할 것입니다. – Dschoni

+0

을 사용하면 더 빨리 처리 할 수 ​​있습니다. L [0 : subset]을 다시 실행하지 말고 L [subset :]을 사용합니다. – Dschoni

관련 문제