标题用python将二维数组转换成字典,提取Key(键),并合并value(值)
将二维数组:b = [ [‘水果’, ‘香蕉’], [‘水果’, ‘苹果’], [‘水果’, ‘梨子’], [‘蔬菜’, ‘西兰花’], [‘蔬菜’, ‘青菜’], [‘动物’, ‘牛’], [‘动物’,‘羊’] ]
转化成:{ ‘水果’: [‘香蕉’, ‘苹果’, ‘梨子’], ‘蔬菜’: [‘西兰花’, ‘青菜’], ‘动物’: [‘牛’, ‘羊’] }
分析 第一步:将二维数组转化为两个一维数组m和n.
count = 0
for i in b:
for j in i:
count = count + 1
if count % 2 == 0:
m.append(j)
else:
n.append(j)
结果
n = ['水果', '水果', '水果', '蔬菜', '蔬菜', '动物', '动物']
m = ['香蕉', '苹果', '梨子', '西兰花', '青菜', '牛', '羊']
第二步:将两个一维数组转化为一个字典,并将相同的Key(键),将合并value(值)。
dic = {}
for x in range(len(n)):
if n[x] in dic:
dic[n[x]] += [m[x]]
else:
dic[n[x]] = [m[x]]
结果
{'水果': ['香蕉', '苹果', '梨子'], '蔬菜': ['西兰花', '青菜'], '动物': ['牛', '羊']}
|