为什么print key
会产生水果名称列表,但print prices[key]
会产生每个水果后的数字? key
应该打印相同的东西(水果名称)吗?
这是代码
prices = {
"banana" : 4,
"apple" : 2,
"orange" : 1.5,
"pear" : 3,
}
stock = {
"banana" : 6,
"apple" : 0,
"orange" : 32,
"pear" : 15,
}
for key in prices:
print key
print "price: %s" % prices[key]
print "stock: %s" % stock[key]
结果如下
orange
price: 1.5
stock: 32
pear
price: 3
stock: 15
banana
price: 4
stock: 6
apple
price: 2
stock: 0
答案 0 :(得分:1)
语句for key in prices
为您提供字典的键。语句print prices[key]
为您提供与密钥相关联的值。
答案 1 :(得分:0)
NVM我之前写的(误读问题)。与其他帖子状态一样,您使用语句print key
打印字典的键,然后在执行print price[key]
时打印与键相关联的值,以便打印所有内容你可以做以下
for key in prices:
print "item: ", key, " price: ", prices[key], " stock: " stock[key]
如果股票字典FYI中不存在,则上述将抛出一个关键错误。
的可靠答案答案 2 :(得分:0)
for key in prices:
相当于:
for key in prices.keys():
也就是说,您正在迭代字典的键。 prices[key]
正在检索与对应密钥关联的词典中的值。也就是说,
prices[key]
相当于
prices.values()[prices.keys().index(key)]
如果要在字典中使用values()
方法获取值列表,并且如果要获取键列表(例如词典中的水果名称),请使用keys()
方法。