我有两个这样的字典
in_dict = {
'1': 'active_rate',
'2': 'purchase_per_active'
}
formula = {
'total_purchase': 'B1*B2'
}
我需要在formula
dict 'B1*B2'
的值中找到整数,然后从in_dict
字典中得到整数对应的值,最后将B1
替换为active_rate
,将B2
替换为purchase_per_active
。你知道吗
formula
dict中提取数字。例如在我们的例子中['1','2']
。你知道吗in_dict
dict中搜索键并得到相应的值。你知道吗formula
dict中替换步骤2中生成的值。你知道吗所以,最后的formula
dict应该是
formula = {
'total_purchase': 'active_rate*purchase_per_active'
}
目前为止的代码
for key, value in formula.items():
numbers = re.findall("\d+", value) # ['1','2']
values = [in_dict.get(num) for num in numbers] # ['active_rate', 'purchase_per_active']
现在,如何用'active_rate'
替换'B1'
,用'purchase_per_active'
替换'B2'
?你知道吗
这里显示的示例只是示例。代码性质应该是泛型的。你知道吗
可以使用正则表达式替换,使用函数直接查找每个参数:
这将产生以下输出:
对我来说,如果
in_dict
存储诸如“B1”、“C1”之类的键,可能更有意义。你知道吗相关问题 更多 >
编程相关推荐