尝试在python中编写一个程序来显示库存中每个项目的库存和数量,但是难以从dict中提取值... 在Win10上使用Python 3.5,通过默认的Python编辑器 从第5章开始,使用Python自动化无聊事物"
i={'color':'red','gold':3}
def bP(n):
inv=''
for v in n:
print (str(n)+':'+str(n[v])) #Problem is first print not displaying value
bP(i)
答案 0 :(得分:3)
您也可以按键值对迭代字典。检查手册。这是一个例子。
for k, v in dict.items():
print(k, v)
答案 1 :(得分:3)
i={'color':'red','gold':3}
def bP(n):
inv=''
for key,value in n.items():
print (str(key)+':'+str(value))
bP(i)
当你迭代dict时,应该使用items()
方法
答案 2 :(得分:2)
您正在尝试打印str(n)
dict
。或者,您可以loop
通过字典中的项目,如下所示:
for k, v in n.items():
print('{}:{}'.format(k, v))
在您的情况下,您可以通过更改str(n)
:
for v in n:
print('{}:{}'.format(v, n[v]))
答案 3 :(得分:2)
考虑以下示例:
d={'color':'red','gold':3}
for key,value in d.items():
print(key,value)
输出:
gold 3
color red
d.items()
输出一个键值对。
此外,
for item in d.values():
print(item)
输出:
3
red
但是,
for key in d.keys():
print(key)
输出:
gold
color
然而这样做会产生与上面相同的结果,
for key in d:
print(key)
输出:
gold
color
所以在你的情况下,
for v in n:
print (str(n)+':'+str(n[v]))
应该是,
for v in n:
print (str(v)+':'+str(n[v]) )
如果变量更有意义,那就是
for key in my_dict:
print (str(key)+':'+str(my_dict[key])) #my_dict[key] is value