2015-01-10 5 views
-1

사전이 들어있는 목록을 반복 처리하려고합니다.파이썬 FOR 루프 사전

사전 정의 : {'id' : y, 'value' : (data["value"])}

I 같은 루프를 가지고

for a in (inputs["value"]): 
    #print (newStack) 
    if a == '+': 
     op1, op2 = newStack.pop(), newStack.pop() 
     newStack.append(op2 + op1) 
    elif a == '-': 
     op1, op2 = newStack.pop(), newStack.pop() 
     newStack.append(op1 - op2) 
... 

입력이 사전을 포함하는, 전송 된리스트이다. 나는 오류가 발생하지만 :

목록 지수는 루프가 경우에 비교하는 사전에서 "값"의 내용을 꺼내 필요에 대한

을 str에하지, 정수이어야 문 이하. 이 오류가 발생하는 이유는 누구나 도와 드릴 수 있습니까?

+0

[이 사전 루핑] (http://stackoverflow.com/questions/1772068/list-in-a-dictionary-looping-in-python?rq=1) 문제와 매우 유사합니다. – 576i

답변

1

inputs["value"] 의미 "inputs에서 사전 키 "value"에서 일을 얻을"감사합니다. 당신은 을 원하는

"inputs에 포함 된 각 사전에 대한 사전 키 "value"에서 일을 얻을"

가이 같은 선언처럼
for dict_containing_value in inputs: 
    a = dict_containing_value['value'] 
    # rest as before 
-1

당신이 쓴 방법은 같습니다

data = {'value': (0,1,2,3)} 
inputs = {'id' : 'y', 'value' : (data["value"])} 

만약 그렇다면 단순히 다음과 같이 반복 할 수 있습니다.

for i in inputs: 
    if i is 'value': 
     print inputs[i] 

파이썬에서 Dictionaries이 반복 될 때 키가 들어옵니다.

+0

아니요, 여기에 'inputs [ "value"]'는 정수 검색을 기대합니다. 즉,'type (inputs) == list' – Eric