不使用zip函数,如何用含多值的两个列表创建字典
解决方案
可以通过分步处理两个列表的元素,手动构建目标字典,具体实现如下:
首先初始化一个空字典,先遍历store1,把每个元素按逗号拆分,提取水果名称和对应的数值(转成整数),将数值作为列表的第一个元素存入字典;接着遍历store2,同样拆分元素,把数值添加到对应水果的列表中。
完整代码:
store1=['mango,5', 'apple,10', 'banana,6'] store2=['mango,7', 'apple,8', 'banana,7'] # 初始化空字典 dic = {} # 处理第一个列表,填充初始数据 for item in store1: fruit, num = item.split(',') dic[fruit] = [int(num)] # 处理第二个列表,追加对应数值 for item in store2: fruit, num = item.split(',') dic[fruit].append(int(num)) print(dic)
运行这段代码后,就能得到你需要的字典:
{'mango':[5,7],'apple':[10,8],'banana':[6,7]}
补充说明
- 用
split(',')将每个字符串元素拆分成水果名和数字字符串,再通过int()转换为整数类型。 - 先处理
store1建立字典的基础结构,再遍历store2补充第二个数值,全程未使用zip函数,完全符合需求。
内容的提问来源于stack exchange,提问作者hongyin
相关产品推荐
相关产品推荐

