随缘济世 2023-02-22 23:48 采纳率: 50%
浏览 83
已结题

python字典的值相乘后相加,形成一个新字典的问题

python字典的值相乘后相加,形成一个新字典的问题
a1 = {"a": 20, "b": 30, "c": 40}
a= {"d": 10, "e": 20, "f": 50,"g": 20, "h": 60}
b= {"d": 2, "e": 4, "g": 8, "h":9}
c={"f": 50,"g": 20, "h": 60}
x = {}
将字典a1中的各个值20,30,40,分别和a,b,c,中的各个值相乘,然后合并成一个新的字典,装在x中,其中有相同键的值则相加,如何写代码?

补充:希望将a1中a的值20分别乘以a中的各个值,将a1中b的值30分别乘以b中的各个值,将a1中c的值40分别乘以c中的各个值,然后将a,b,c合成到一个字典中,其中如果有键相同的,其值相加在一起,键不变。

  • 写回答

2条回答 默认 最新

  • Dick_不周 2023-02-23 09:19
    关注
    a1 = {"a": 20, "b": 30, "c": 40}
    a= {"d": 10, "e": 20, "f": 50,"g": 20, "h": 60}
    b= {"d": 2, "e": 4, "g": 8, "h":9}
    c={"f": 50,"g": 20, "h": 60}
    for key in a1 :
        current_value=a1.get(key)
        for key1 in a :
            if key == key1 :
                a[key1] += current_value
            else :
                a[key1] *= current_value
        for key2 in b :
            if key == key2 :
                b[key2] += current_value
            else :
                b[key2] *= current_value
        for key3 in c :
            if key == key3 :
                c[key3] += current_value
            else :
                c[key3] *= current_value
    print('a :',a)
    print('b :',b)
    print('c :',c)
    

    运行结果

    img

    有用请采纳,感谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 修改了问题 2月23日
  • 修改了问题 2月23日
  • 展开全部

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)