【发布时间】:2015-05-30 06:36:54
【问题描述】:
我有以下代码,它是一个地址簿(一个字典列表)和一个列表。这个想法是按照列表的顺序打印字典中的项目(因为 dicts 搞乱了所有内容的顺序)。当我运行此代码时,它会引发异常(如下所示)。我不确定自己做错了什么,因为我尝试了许多不同的变体,但我一直想知道为什么它不起作用。
请帮忙?
addressBook = [
{
'Nickname': 'Jimmy',
'Name': 'James Roberts',
'Address': '2/50 Robe Street',
'Phone': '0273503342'
},
{
'Nickname': 'Bob',
'Name': 'Robert',
'Address': '1 Vivan Street',
'Phone': '067578930'
}
]
addressFields = ['Nickname', 'Name', 'Address', 'Phone']
def listAll(addressBook, addressFields):
for i in addressBook:
for key in addressFields:
print("{0} {1}".format(key, addressBook[i][key]))
print("{0} {1}".format(key, addressBook[i][key]))
TypeError: list indices must be integers, not dict
【问题讨论】:
标签: python list dictionary printing format