gpt4 book ai didi

python - 对数组求和,然后乘以字典

转载 作者:行者123 更新时间:2023-11-30 22:49:28 29 4
gpt4 key购买 nike

Fruits = ['apple', 'orange', 'banana', 'kiwi']

A = [4, 3, 10, 8]

B = {'apple': {'Bill': 4, 'Jan': 3, 'Frank': 5},
'orange': {'Bill': 0, 'Jan': 1, 'Frank': 5},
'banana': {'Bill': 8, 'Jan': 6, 'Frank': 2},
'kiwi': {'Bill': 4, 'Jan': 2, 'Frank': 7}}

我正在尝试将 A 的所有结果相加,然后将其乘以 B。我在执行此操作时遇到困难 A 是一个仅由数字组成的数组,而 B 是一本字典。这就是我感到困惑的地方。我是一个 Python 新用户。 A 中的数字相对于 Fruits 处于相同的位置(A 中的第一个数字是苹果的数量)。这会涉及到使用 sum(A) 吗?

抱歉大家缺乏详细信息。这里有一些清晰的说明。我有水果,我有每个人根据类型拥有的水果数量。我想将 B 中每种水果类型的所有值相加,这样我就得到:

 apple = 12
orange = 6
banana = 16
kiwi = 13

现在,我想将这些数字乘以 A,但请记住 A 中的第一个数字是苹果,然后是橙色,依此类推,以获得一个新数组:

 Solution = [48,18,160,104] #solution order is apple, orange, banana, kiwi

最佳答案

假设您要将每个人的水果总和(在 B 中)乘以 A 中的成本,您可以执行以下列表理解:

>>> [cost * sum(B[fruit].values()) for cost, fruit in zip(A, Fruits)]
[48, 18, 160, 104]

关于python - 对数组求和,然后乘以字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778364/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com