我有以下代碼,它是一個地址簿(字典列表)和一個列表。這個想法是按照列表的順序打印字典中的項目(因爲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,'爲i的範圍(LEN(x)的)'很少是正確的路要走。問題不在於你如何設置循環,而在於你在做什麼。 – TigerhawkT3