python题库 No.29 分类一下吧!

困难级

城市大分类,请将城市(列表cities)按照省份分类,将分类好的保存为字典,字典的键为列表province的元素,字典的值为列表cities的值。
最后输出分类好的字典。
输出示例:

{'四川': ['四川成都', '四川泸州', '四川雅安'], '湖北': ['湖北武汉', '湖北荆州'], '广东': ['广东深圳', '广东广州'], '直辖市': ['北京', '重庆']}

注意:输出字典的一个键对应多个值,所以将值连接为列表,键对应的值为列表。

实际答案:

cities = ["四川成都","湖北武汉","北京","广东深圳","四川泸州","湖北荆州","四川雅安","广东广州","重庆"]
province = ["四川","湖北","广东","直辖市"]

dict01 = {}  
for i in province:
  list1 = []
  for j in cities:
    if i in j:
      list1.append(j)
    elif i == "直辖市":
      if j in ["北京","重庆"]:
        list1.append(j)        
  dict01[i] = list1   
print(dict01)    

标准答案:
image

点评:
考察字典添加元素的方法。
实际答案更简短但可读性有限,考虑添加注释,优化变量命名方式。
标准答案先构建列表,筛选元素,然后定义字典。逻辑较为清晰。

posted @ 2025-12-07 23:39  点影成金  阅读(9)  评论(0)    收藏  举报