Python FOR循环通过字典

时间:2015-01-10 23:04:24

标签: python dictionary

我正在尝试迭代包含词典的列表。

字典定义:{'id' : y, 'value' : (data["value"])}

我有一个for循环:

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)
...

inputs是发送的列表,包含字典。 但是我得到了错误:

  

列表索引必须是整数,而不是str

for循环需要在字典中提取“value”的内容,以将其与下面的if语句进行比较。 任何人都可以协助我为什么会收到此错误?

谢谢

2 个答案:

答案 0 :(得分:1)

inputs["value"]表示"在"value"" 中的字典键inputs处获取该内容。

您希望&#34;为 "value"&#34; 中包含的每个词典获取字典键inputs 的内容:< / p>

for dict_containing_value in inputs:
    a = dict_containing_value['value']
    # rest as before

答案 1 :(得分:-1)

你写的方式,看起来像是这样声明:

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

如果是,那么你可以简单地迭代为:

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

当迭代时Python中的Dictionaries进入键中。