我正在尝试迭代包含词典的列表。
字典定义:{'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语句进行比较。 任何人都可以协助我为什么会收到此错误?
谢谢
答案 0 :(得分:1)
inputs["value"]
表示"在"value"
" 中的字典键inputs
处获取该内容。
您希望"为 "value"
" 中包含的每个词典获取字典键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进入键中。