2017-01-27 4 views
-2

루프를 중첩 했으므로 여기서 복잡한 일이 발생한다고 생각합니다. 여기 내가이 DICT 통해 반복하고 여기에 코드를 내가 dict1.next을 사용했다사전의 다음 항목으로 건너 뛰기

for key,value in dict1.items(): 
    ###some code ### 
     if ##condition is true move to next key in the for loop which is '2'## 
      dict1.next() 

에게()는 오전

dict1 = {'1': '##', '2': '##'} 

을 가지고 DICT이다. 그러나 오류 던지고

시도조차 dict1 [키] + = 1 dict1 [KEY = dict1.setdefault "딕셔너리 다음으로 '객체에는 속성이없는"(키, 0) + 1

사전에서 다음 키로 건너 뛸 때 키의 색인을 참조하여 다음 항목으로 이동해야한다는 것을 이해합니다. 그러나 아무 것도 행운이 없다는 것과 "continue"를 사용하는 것이 내 목적을 달성 할 수 있을지 모르겠다. 왜냐하면 현재 각각의 해당 키에 대해 하나의 값을 갖고 있기 때문에 ("계속"은 작동한다), 나는 각각의 경우에도이 코드를 사용하고 싶다. 키에는 각각 둘 이상의 값이 있습니다. 키 1과 첫 번째 상응하는 값에 대해 "If"조건이 참인 경우 다음 반복은 키 2와 그 값에 대해 각각 이루어져야합니다.

긴 이야기 죄송합니다.

+2

스택 오버플로에 오신 것을 환영합니다! 먼저 [둘러보기] (http://stackoverflow.com/tour)를 열고 [어떻게 좋은 질문을하는 법] (http://stackoverflow.com/help/how-to-ask)을 배우고 [ Minimal, Complete, Verifiable] (http://stackoverflow.com/help/mcve) 예제를 참조하십시오. 그렇게하면 우리가 당신을 도울 수 있습니다. –

+0

루프 자체는 for 루프의 결과로 다음 요소로 이동합니다. 원하지 않는 값은 무시해야합니다. –

답변

1

계속 하시겠습니까? 계속 하시겠습니까?

dict1 = {'1': [1,4,7], '2': '##'} 

for key in dict1.keys(): 
    if key == "1": 
     continue 
    else: 
     print key, dict1[key] 

>>> '2 ##' 

당신은 다음과 nexy 키 가질 수

keys = dict1.keys() 
n = len(keys) 
for i in range(n): 
    thisKey = keys[i] 
    if some_condition(): 
     nextKey = keys[(i + 1) % n] 
     nextValue = dict1[nextKey] 
     print thisKey, nextValue 

당신은 키의 목록을을, 당신은 키의 길이에 걸쳐 반복. 조건이 true이면 다음 키와 값을 추출 할 수 있습니다.

+0

안녕하세요. 내가 말했듯이 "계속"키가 "1"에 대한 "if"조건이 만족 될 때 다음 키 (내 예에서는 '2')로 건너 뛸 수 있는지 모르겠다. 각 키의 값. –

+0

각 키에는 하나의 값이 있습니다. 값은 개체, 목록, dict 기본적으로 모든 것이 될 수 있습니다. 당신이 열쇠 위로 뛰어 오르는다면, 당신도 그의 가치를 뛰어 넘을 것입니다. @KrishnaChaitanya –

+0

그래, 그 값을 뛰어 넘는 것도 나에게 좋다. 그 키 '1'과 그 값에 대한 조건이 참이라면 그냥 '2'키로 이동해야합니다. –