如何在Python中对字典匹配键对应集合的两个值相乘?
实现指定键对应集合数值相乘的方法
给定字典:
data = {'A': {5.0, 6.20}, 'B': {1.92, 3.35}, 'C': {3.21, 7.0}, 'D': {2.18, 9.90}}
核心思路
每个键对应一个含两个数值的集合,由于集合无序但乘法满足交换律,只需将集合转为可迭代对象,取出两个元素相乘即可。
代码实现
写一个函数来处理匹配与计算:
def multiply_value_by_key(data_dict, target_key): # 检查目标键是否存在 if target_key not in data_dict: return None # 也可根据需求抛出KeyError异常 # 转换集合为元组,解构出两个数值并相乘 num1, num2 = tuple(data_dict[target_key]) return num1 * num2
调用示例
- 匹配键'A':
result = multiply_value_by_key(data, 'A') print(result) # 输出 31.0
- 匹配键'B':
result = multiply_value_by_key(data, 'B') print(result) # 输出约6.432
注意事项
- 需保证每个键对应的集合仅包含两个数值,若元素数量不符,解构时会触发异常,可额外添加判断逻辑处理这种情况
- 集合无序不影响结果,因为乘法交换律成立
内容的提问来源于stack exchange,提问作者purple_plop
相关产品推荐
相关产品推荐

