Python字典打印
我有这本字典,但我无法打印,有人能告诉我是否有错误吗Python字典打印,python,dictionary,Python,Dictionary,我有这本字典,但我无法打印,有人能告诉我是否有错误吗 groseries = { 'fruits':[{ 'apples':['7'], 'bananas':['4'], 'lemmons':['7'] }], 'vegestables':[{ 'tomatoes':['3'], 'carrots':['9'], 'onions':['6'] }], 'ce
groseries = {
'fruits':[{
'apples':['7'],
'bananas':['4'],
'lemmons':['7']
}],
'vegestables':[{
'tomatoes':['3'],
'carrots':['9'],
'onions':['6']
}],
'cereals':[{
'wheat':['11'],
'granola':['7'],
'kornflakes':['9']
}]
}
print (groseries['cereals'][2])
您需要
groseries['谷物][0]['kornflakes']
这是一个字典列表(只包含一个字典),里面只有一个元素。因此,使用index
2
,它会抛出索引器
异常
因此,正确的用法是使用索引0
和键“kornflakes”:
print(groseries['cereals'][0]['kornflakes'])
也许你想这样格式化你的代码
groceries = {
'fruits': {
'apples':7,
'bananas':4,
'lemons':7
},
'vegetables': {
'tomatoes':3,
'carrots':9,
'onions':6
},
'cereals': {
'wheat':11,
'granola':7,
'cornflakes':9
}
}
然后你可以像这样打印你有多少苹果:
print (groceries['fruits']['apples'])
或玉米片:
print (groceries['cereals']['cornflakes'])
简单地说,西红柿不应该是水果吗P
将您的
groseries
词典更改为
groseries = {
'fruits': {
'apples': 7,
'bananas': 4,
'lemmons': 7
},
'vegestables': {
'tomatoes': 3,
'carrots': 9,
'onions': 6
},
'cereals': {
'wheat': 11,
'granola': 7,
'kornflakes': 9
}
}
(没有列表
——因为你所有的列表
都只有1
项——没有撇号,没有格式)——你的生活会轻松得多
是的,然后你可以打印你最喜欢的kornflakes
谷物的编号(或价格?),只要
print(groseries['cereals']['kornflakes'])
你知道格罗斯系列[谷物]只有一个元素,对吧?正如@IgnacioVazquez Abrams所说,
格罗斯系列[谷物]
产生一个字典,而不是一个列表,所以你必须使用键(比如小麦
)而不是数字索引。@Arminius:不,有一个列表。请看谷物“:[
行上的括号。您拼写的是食品杂货
wrong@user2357112当然,你是对的。缺少咖啡因……-非常感谢MarianD。D:最后,你不受欢迎。请考虑对我的答案,如果它对你有用的话。