从另一个字典值分配字典值

时间:2019-07-25 02:32:10

标签: python python-3.x

我在代码和平中迷路了。我有两个以下字典,我想用水果字典的值替换vigitables字典的值。

fruits = {'Apples':2,'Oranges':4,'Bananas':6}

vigitables = {'Tomatos':3,'Potatos':5,'Onions':7}

我尝试过

for k in vigitables.keys():

vigitables[k] = fruits.values()

但是它没有给我

期望的输出

vigitables = {'Tomatos':2,'Potatos':4,'Onions':6}

提前谢谢

2 个答案:

答案 0 :(得分:1)

尝试以下dict(zip(...))命令:

print(dict(zip(vigitables.keys(), fruits.values())))

对于循环命令:

d = {}
for x, y in zip(vigitables.keys(), fruits.values()):
    d.update({x: y})

对于没有zip的循环解决方案:

d = {}
keys = list(vigitables.keys())
values = list(fruits.values())
for i in range(len(keys)):
    d.update({keys[i]: values[i]})

它们全部输出:

{'Tomatos': 2, 'Potatos': 4, 'Onions': 6}

答案 1 :(得分:0)

类似于其他答案,但更为简洁。当您使用vigitables时,只需要使用其键。

dict(zip(vigitables, fruits.values()))

示例

fruits = {'Apples':2,'Oranges':4,'Bananas':6}

vigitables = {'Tomatos':3,'Potatos':5,'Onions':7}  
print(dict(zip(vigitables, fruits.values())))

# {'Tomatos': 2, 'Potatos': 4, 'Onions': 6}

zip()从两个字典中创建键和值的元组,并在其上创建dict()

相关问题