You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对比大字典中的嵌套超市商品价格字典,识别价格差异并找出最低价

对比嵌套字典中的超市商品价格

给定一个包含多家超市商品价格的嵌套字典:

pricesDict = { "supermarket_1": {"apples": 1, "bananas": 2, "melons": 3},
               "supermarket_2": {"apples": 1.5, "bananas": 2, "melons": 3},
               "supermarket_3": {"apples": 1, "bananas": 2, "melons": 3},
               "supermarket_4": {"apples": 1, "bananas": 2.7, "melons": 3}}

需求

  • 对所有超市进行两两对比(如supermarket_1与supermarket_2、3、4对比,supermarket_2与3、4对比,以此类推)
  • 检测到商品价格差异时,打印提示信息
  • 找出每种商品价格最低的超市

实现代码

# 获取所有超市名称
supermarkets = list(pricesDict.keys())

# 两两对比超市价格
for i in range(len(supermarkets)):
    market_a = supermarkets[i]
    prices_a = pricesDict[market_a]
    for j in range(i + 1, len(supermarkets)):
        market_b = supermarkets[j]
        prices_b = pricesDict[market_b]
        # 遍历所有商品对比价格
        for item in prices_a:
            price_a = prices_a[item]
            price_b = prices_b[item]
            if price_a != price_b:
                print(f"超市{market_a}与超市{market_b}的{item}价格存在差异:{price_a} vs {price_b}")

# 统计各商品最低价超市
print("\n--- 各商品最低价信息 ---")
# 获取商品列表(默认取第一家超市的商品)
items = list(pricesDict[supermarkets[0]].keys())
for item in items:
    # 收集该商品在所有超市的价格数据
    item_price_data = [(market, pricesDict[market][item]) for market in supermarkets]
    # 计算最低价格
    min_price = min(price for _, price in item_price_data)
    # 筛选出所有卖最低价的超市
    lowest_price_markets = [market for market, price in item_price_data if price == min_price]
    print(f"{item}的最低价为{min_price},售卖该价格的超市:{', '.join(lowest_price_markets)}")

输出示例

超市supermarket_1与超市supermarket_2的apples价格存在差异:1 vs 1.5
超市supermarket_1与超市supermarket_4的bananas价格存在差异:2 vs 2.7
超市supermarket_2与超市supermarket_3的apples价格存在差异:1.5 vs 1
超市supermarket_2与超市supermarket_4的apples价格存在差异:1.5 vs 1
超市supermarket_2与超市supermarket_4的bananas价格存在差异:2 vs 2.7
超市supermarket_3与超市supermarket_4的bananas价格存在差异:2 vs 2.7

--- 各商品最低价信息 ---
apples的最低价为1,售卖该价格的超市:supermarket_1, supermarket_3, supermarket_4
bananas的最低价为2,售卖该价格的超市:supermarket_1, supermarket_2, supermarket_3
melons的最低价为3,售卖该价格的超市:supermarket_1, supermarket_2, supermarket_3, supermarket_4

内容的提问来源于stack exchange,提问作者useeeeer132

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:50:31