我想改进这段代码的编写方式。现在我有六个方法,几乎是复制粘贴,只有一行是改变。如何创建一个泛型方法并根据数据输入的属性来更改计算?我正考虑使用函数式编程来实现这一点,但我不确定如何正确地实现它。在
方法是获取dict对象。然后这个对象被转换成JSON。mid
变量正在从外部API存储一个具有中等for currency的JSON,它必须在for循环之前,否则每次迭代都会调用API,这会大大减慢进程!然后在for
循环中,我迭代输入的数据。方法之间的唯一区别是在将其插入列表之前进行计算。.append(mid_current - bankMSell)
def margin_to_exchange_rate_sell(data):
j = data.to_JSON()
list_p = []
mid = midrate.get_midrate(j["fromCurrency"][0])
for idx, val in enumerate(j['toCurrency']):
try:
mid_current = 1/get_key(mid, j['toCurrency'][idx])
bankMSell = float(j['sellMargin'][idx])
list_p.append(mid_current - bankMSell)
except Exception as e:
list_p.append(0)
print(str(e))
return list_p
另一种方法是:
^{pr2}$
实际上,有一种方法可以用lambdas来减少代码:
相关问题 更多 >
编程相关推荐