2017-10-12 10 views
1

나는 약간의 혼란스러워, 여기에서, "계속"이 실행 된 후, 자동으로 현재 반복에서 건너 뛰고, 색인을 업데이트하지 않습니까? 당신을 통해 반복되는 반복자의 다음 항목에이 파이썬 코드에서 어떻게 '계속'작동합니까?

def method(l): 
    index = 0 
    for element in l: 

     #if element is number - skip it 
     if not element in ['(', '{', '[', ']', '}', ')']: 
      continue // THIS IS MY QUESTION 
     index = index+1 
     print("index currently is " + str(index)) 
    print("--------------------\nindex is : " + str(index)) 

t = ['4', '7', '{', '}', '('] 
method(t) 
+0

네, 맞습니다. – TerryA

+0

이것은 간단한 콘솔에서 시도하는 예제입니다. :) – Chinny84

+0

오, 나는 대학 이래로이 지식 격차가 있었다 .... 고맙다. – ERJAN

답변

3

키워드 continue 건너 뜁니다.

따라서 귀하는 을 에 추가하지 않고 목록 l의 다음 항목으로 이동합니다.

for i in range(10): 
    if i == 5: 
     continue 
    print(i) 

5에 오면 출력, 다음 항목으로 건너 뛸 것 : 루프의 다음 반복에

1 
2 
3 
4 
6 
7 
8 
9 
1

continue 이동

는 간단한 예제를 제공합니다.

continue이 실행되면 반복자가 업데이트 된 다음 반복으로 루프가 이동함에 따라 루프의 후속 코드는 건너 뜁니다. "계속"후,

for element in l: 

    #if element is number - skip it 
    if not element in ['(', '{', '[', ']', '}', ')']: 
     continue # when this executes, the loop will move to the next iteration 
    # if continue executed, subsequent code in the loop won't run (i.e., next 2 lines) 
    index = index+1 
    print("index currently is " + str(index)) 
print("--------------------\nindex is : " + str(index)) 

따라서 실행의 : 그래서 당신의 코드를 한 번 continue (즉, indexprint 업데이트) 다음 반복으로 이동합니다 루프로 건너 뜁니다 것은, 다음 코드를 실행 현재 반복은 index을 업데이트하지 않고 끝납니다.