Python FOR 遍历字典
Python FOR loop through 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 是发送的列表,包含字典。
但是我收到错误:
list indices must be integers, not str
for 循环需要从字典中取出 "value" 的内容,以便与下面的 if 语句进行比较。
谁能帮我解释为什么会出现此错误?
谢谢
inputs["value"]
表示 "get the thing at dictionary key "value"
in inputs
".
你想要"get the thing at dictionary key "value"
for each dictionary contained in inputs
":
for dict_containing_value in inputs:
a = dict_containing_value['value']
# rest as before
你写的方式,看起来像是这样声明的:
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 当迭代进入它们的键时。
我正在尝试遍历包含字典的列表。
词典定义:{'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 是发送的列表,包含字典。 但是我收到错误:
list indices must be integers, not str
for 循环需要从字典中取出 "value" 的内容,以便与下面的 if 语句进行比较。 谁能帮我解释为什么会出现此错误?
谢谢
inputs["value"]
表示 "get the thing at dictionary key "value"
in inputs
".
你想要"get the thing at dictionary key "value"
for each dictionary contained in inputs
":
for dict_containing_value in inputs:
a = dict_containing_value['value']
# rest as before
你写的方式,看起来像是这样声明的:
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 当迭代进入它们的键时。