如何遍历列表和字典

时间:2020-01-31 09:16:54

标签: python list loops dictionary

我有一个任务,我必须遍历列表,然后字典以显示咖啡馆的总存货价值。我创建了一些经过审查的代码,但被告知这些评论:

尝试遍历菜单列表。

每个项目都可以用作字典中的键,以检索匹配的库存和价格值。

库存价值是每个库存项目的价格乘以其价格。

我在将列表项转换为键然后将其添加到字典中时遇到了一些麻烦。

我的原始代码如下:

menu = ['cheeseburger', 'chicken nuggets', 'fish', 'chips']
total = 0
stock = {1: 25,
         2: 20,
         3: 18,
         4: 10
         }

price = {1: 40,
         2: 35,
         3: 28,
         4: 18
         }

for stock in price:
    total = total + price[stock]
total = float(total)
print("The total stock worth is R" + (str(total)))

谢谢您的帮助和建议!

3 个答案:

答案 0 :(得分:2)

尝试一下:

menu = ['cheeseburger', 'chicken nuggets', 'fish', 'chips']
stock = {'cheeseburger': 25,
         'chicken nuggets': 20,
         'fish': 18,
         'chips': 10
         }

price = {'cheeseburger': 40,
         'chicken nuggets': 35,
         'fish': 28,
         'chips': 18
         }


total = 0
for food in menu:
    total += stock[food] * price[food]

print(total)

答案 1 :(得分:1)

让我们一点一点走-

1。。尝试遍历菜单列表。

--->将执行此操作。您将了解为什么需要这样做。

2。。每个项目都可以用作字典中的键,以检索匹配的股票和价格值。

--->您应该将菜单列表中显示的项目用作为stockprice创建的词典中的键,而不要使用数字作为键。

这有助于更清晰地可视化和理解代码和变量结构。

所以您应该将其更改为:-

stock = {'cheeseburger': 25, 'chicken nuggets': 20, 'fish': 18, 'chips': 10}

price = {'cheeseburger': 40, 'chicken nuggets': 35, 'fish': 28, 'chips': 18}

3。。股票价值是每个库存商品的价格乘以其价格。

--->现在,您只需将所有股票的价格相加即可计算股票的总价。评论指出,菜单中每个项目的总库存价格计算逻辑应为stock_units*price_of_one_stock

为此,您需要遍历菜单的所有项目。计算菜单中每个项目的总库存价格,并将其添加到最终总价值中。

类似这样的东西:

total = 0
for item in menu:
    total = total + stock[item]*price[item]
print(total)

答案 2 :(得分:0)

您被要求做的是这个

menu = ['cheeseburger', 'chicken nuggets', 'fish', 'chips']
stock = {'cheeseburger' : 25, 'chicken nuggets' : 20, 'fish' : 18, 'chips' : 10}
price = {'cheeseburger' : 40, 'chicken nuggets' : 35, 'fish' : 28, 'chips' : 18}
total = 0
for i in menu:
    total += stock[i] * price[i]

for循环后的total值为2384,这是必需的答案