字典嵌套

 

购物商城案例:

# 商品字典
dict_commodity_infos = {
1001: {"name": "屠龙刀", "price": 10000},
1002: {"name": "倚天剑", "price": 10000},
1003: {"name": "金箍棒", "price": 52100},
1004: {"name": "口罩", "price": 20},
1005: {"name": "酒精", "price": 30},
}

# 订单列表
list_orders = [
{"cid": 1001, "count": 1},
{"cid": 1002, "count": 3},
{"cid": 1005, "count": 2},
]

# 1.打印所有商品信息,
# 格式:商品编号xx,商品名称xx,商品单价xx.
for cid, info in dict_commodity_infos.items():
print(f'商品编号{cid},商品名称{info["name"]},商品单价{info["price"]}')

# 2. 打印所有订单中的信息,
# 格式:商品编号xx,购买数量xx.
for order in list_orders:
print("商品编号%d,购买数量%d." % (order["cid"], order["count"]))

# 3. 打印商品单价小于2万的商品信息
# 格式:商品编号xx,商品名称xx,商品单价xx.
for cid, info in dict_commodity_infos.items():
  if info["price"] < 20000:
print("商品编号%d,商品名称%s,商品单价%d." % (cid, info["name"], info["price"]))

# 4. 打印所有订单中的商品信息,
# 格式:商品名称xx,商品单价:xx,数量xx.
for order in list_orders:
  cid = order["cid"]
  comodity = dict_commodity_infos[cid]
  # comodity = dict_commodity_infos[order["cid"]]
print("商品名称%s,商品单价:%d,数量%d." % (comodity["name"], comodity["price"], order["count"]))

# 5. 查找数量最多的订单(使用自定义算法,不使用内置函数)
max_value = list_orders[0]
for i in range(1, len(list_orders)):
  if max_value["count"] < list_orders[i]["count"]:
  max_value = list_orders[i]
print(max_value)

# 6. 根据购买数量对订单列表降序(大->小)排列
# 取数据(不要最后一个)
for r in range(len(list_orders) - 1):
# 作比较(下一个)
  for c in range(r + 1, len(list_orders)):
    if list_orders[r]["count"] > list_orders[c]["count"]:
      list_orders[r], list_orders[c] = list_orders[c], list_orders[r]

print(list_orders)

 

城市景区美食案例:

dict_travel_info = {
"北京": {
"景区": ["长城", "故宫"],
"美食": ["烤鸭", "豆汁胶圈", "炸酱面"]
},
"四川": {
"景区": ["九寨沟", "峨眉山"],
"美食": ["火锅", "兔头"]
}
}

# 1)打印所有城市(一行一个)
for city in dict_travel_info:
print(city)
# 2)打印北京所有美食(一行一个)
for food in dict_travel_info["北京"]["美食"]:
print(food)
# 3)打印四川所有景区(一行一个)
for scenic_area in dict_travel_info["四川"]["景区"]:
print(scenic_area)
# 4)打印所有城市的所有景区(一行一个)
for city in dict_travel_info:
for scenic_area in dict_travel_info[city]["景区"]:
print(scenic_area)
# 5)为北京添加景区:"天坛"
dict_travel_info["北京"]["景区"].append("天坛")
# 6)删除四川美食:兔头
dict_travel_info["四川"]["美食"].remove("兔头")

 

posted @ 2020-06-07 22:10  geer蛋  阅读(263)  评论(0)    收藏  举报