2 回答

TA貢獻1828條經驗 獲得超13個贊
Stock = {1: {'Item Name': "Campbell's Cream of Mushroom",
'Description': 'Canned Food',
'Price': 2.30,
'Stock': 32,
'Expiry Date': '27/05/25'},
2: {'Item Name': "Orecchiette",
'Description': 'Noodles & Pasta',
'Price': 3.45,
'Stock': 23,
'Expiry Date': '27/05/22'},
3: {'Item Name': "Coca Cola",
'Description': 'Drinks',
'Price': 1.50,
'Stock': 25,
'Expiry Date': '27/05/21'},
4: {'Item Name': "Dried Cha Soba",
'Description': 'Noodles & Pasta',
'Price': 3.75,
'Stock': 25,
'Expiry Date': '27/05/22'},
5: {'Item Name': "Chinese Cabbage",
'Description': "Vegetable",
'Price': 1.50,
'Stock': 12,
'Expiry Date': '8/7/2020'}
}
items = {}
for item in Stock.values():
if item['Item Name'] in items.keys():
items[item['Item Name']] += item['Stock']
else:
items[item['Item Name']] = item['Stock']
print(items)
輸出 :
{“Campbell's Cream of Mushroom”:32,“Orecchiette”:23,“Coca Cola”:25,“Dried Cha Soba”:25,“Chinese Cabbage”:12}

TA貢獻1779條經驗 獲得超6個贊
首先list用作變量名不是一個好主意,因為它是 python 中的保留關鍵字所以我將變量的名稱更改list = []為something = [],其次你已經聲明x = 0然后在for loop你寫for x in list:的變量類型的地方x是轉換為字符串,這就是您收到該錯誤的原因,所以我建議您使用另一個變量名,我已經編輯了您的代碼并將其更改something為上面提到的名稱,我快速找到了一個替換all 這就是為什么變量名稱newlist也已更改為newsomething,并且在解決您的問題中提到的錯誤后,您的代碼需要進一步修改,但由于您沒有簡要說明代碼的用途,現在我無法幫助您。但是對于您當前的問題,下面是我修改過的代碼。
Stock = {1: {'Item Name': "Campbell's Cream of Mushroom",
'Description': 'Canned Food',
'Price': 2.30,
'Stock': 32,
'Expiry Date': '27/05/25'},
2: {'Item Name': "Orecchiette",
'Description': 'Noodles & Pasta',
'Price': 3.45,
'Stock': 23,
'Expiry Date': '27/05/22'},
3: {'Item Name': "Coca Cola",
'Description': 'Drinks',
'Price': 1.50,
'Stock': 25,
'Expiry Date': '27/05/21'},
4: {'Item Name': "Dried Cha Soba",
'Description': 'Noodles & Pasta',
'Price': 3.75,
'Stock': 25,
'Expiry Date': '27/05/22'},
5: {'Item Name': "Chinese Cabbage",
'Description': "Vegetable",
'Price': 1.50,
'Stock': 12,
'Expiry Date': '8/7/2020'}
}
something = []
for i in Stock:
something.append(Stock[i]['Item Name'])
something.append(Stock[i]['Stock'])
print(something)
x = 0
while something != "":
for i in something:
x += 1
newsomething = something[x], something[x+1]
print(newsomething)
添加回答
舉報