Python - 跨相似键值列表元素进行乘法运算

pythonserver side programmingprogramming

在给定的问题陈述中,我们必须计算给定字典中相同键值的乘法。因此,我们将通过在 Python 中实现代码来解决这个问题。

理解问题

当前的问题是使用 Python 对给定字典列表中的相似键执行乘法运算。因此,我们将以字典列表作为输入,并且此数据将包含键值对,其中键在字典中是相同的。因此,我们必须将相同键的相应值相乘。

上述问题的逻辑

为了解决上述问题,我们将在 Python 中实现简单的逻辑。我们将迭代字典列表并不断保存我们遇到的每个键的乘积。对于每个键,我们将提取键和值并更新相应值的乘法。如果我们第一次找到键,那么我们将用当前值初始化乘积。如果再次遇到此键,则我们将乘积与前一个值相乘。

算法

  • 步骤 1 - 首先将空白字典初始化为 multiply_dict。此字典将用于存储每个键的乘积。

  • 步骤 2 - 之后,我们将遍历给定输入列表中的每个字典。

  • 步骤 3 - 然后,我们将借助每个字典的 items 方法遍历键和值对。

  • 步骤 4 - 在此步骤中,我们将对每个键值对执行某些处理。首先,我们将检查键是否不存在于 multiply_dict 中,如果此条件为真,则我们将添加它并使用当前值初始化值。

  • 步骤 5 - 接下来,我们将检查另一个条件,即键是否已存在于 multiply_dict 中,然后将当前值与 multiply_dict 中的现有值相乘。

  • 步骤 6 - 遍历字典后,multiply_dict 将获得给定字典中每个键的乘积。

示例

# 定义函数以将相同的键值相乘
def multiply_values(content):
    # 初始化空字典
    multiply_dict = {}
    # 遍历键值对
    for key_value in content:
      for key, value in key_value.items():
         if key not in multiply_dict:
            multiply_dict[key] = value
         else:
            multiply_dict[key] *= value
      return multiply_dict

# 初始化数据
content = [
   {'Grape': 3, 'Peach': 5, 'Cherry': 2},
   {'Grape': 4, 'Peach': 4, 'Cherry': 5},
   {'Grape': 5, 'Peach': 2, 'Cherry': 3}
]

# 调用函数
Output = multiply_values(content)

# 打印结果
print(Output)

输出

{'Grape': 3, 'Peach': 5, 'Cherry': 2}

复杂度

假设 n 是给定列表中字典的数量,m 是每个字典中键值对的平均数量,则计算列表组件中相同键值的乘积的时间复杂度为 O(n * m)。这种复杂性的原因是我们已经迭代了每个字典并执行了常数时间操作来获得值的乘积。

结论

由于我们已经成功实现了获取列表中给定字典中相同键值的乘积的代码。这是一种获得预期结果的有效方法。


相关文章