我再次问这里因为我不知道怎么做... 我有这段代码:
prices={'banana':4, 'apple':2, 'orange':1.5, 'pear':3}
stock={'banana':6, 'apple':0, 'orange':32, 'pear':15}
for e in prices and stock:
print e
print "price: " + str(e)
print "stock: " + str(e)
并在
print "price: " + str(e)
print "stock: " + str(e)
我想循环并打印该值,例如" 1.5"在价格和" 32"有货,但它打印出钥匙,"橙色"而且我不知道如何循环和打印所有字典的价值,你能帮助我吗?
答案 0 :(得分:2)
您需要遍历一个字典,并使用映射访问来打印值:
for e in prices:
print e
print "price:", prices[e]
print "stock:", stock[e]
但是,如果KeyError
中的密钥不在prices
词典中,则上述内容会引发stock
。
要确保两个字典中都存在密钥,您可以使用dictionary views获取两个字典密钥集之间的集合交集:
for e in prices.viewkeys() & stock:
print e
print "price:", prices[e]
print "stock:", stock[e]
这将循环遍历 两个词典中存在的那些键。
答案 1 :(得分:0)
假设prices
和stock
之间的密钥始终相同,您可以这样做:
for key in prices:
print key
print "price: " + prices[key]
print "stock: " + stock[key]
答案 2 :(得分:0)
prices and stocks
可以解析为prices
或stocks
,但不会解决两者的连接问题。
这就是它的工作原理:Python确实对X and Y
进行了评估。首先,它会查看X
,如果它是假的(例如False
或[]
或None
),则表达式会解析为X
。仅当X
不是假的(例如True
或[1,2]
或42
)时,它才会返回Y
。
一些例子:
>>> 2 and 3
3
>>> [] and 3
[]
>>> 2 and 'hello'
'hello'
>>> [] and 'hello'
[]
>>> [] and None
[]
>>> 42 and []
[]