我正在尝试将用c ++编写的if-else语句转换为相应的python代码块。对于C ++地图dpt2,我试图翻译:
if (dpt2.find(key_t) == dpt2.end()) { dpt2[key_t] = rat; }
else { dpt2.find(key_t) -> second = dpt2.find(key_t) -> second + rat; }
我不熟悉C ++,但我的理解是 - > operator等效于对指针引用的类的方法调用。我的问题是如何将此代码转换为可以由python中的OrderedDict()对象处理的内容?
答案 0 :(得分:6)
首先,在C ++中你会把它写成:
dpt[key_t] += rat;
这将只执行一次地图查找 - 与您编写的代码相反,在key_t
不在地图中的情况下进行2次查找,在情况下进行3次查找。
在Python中,你会以同样的方式编写它 - 假设你声明dpt
是正确的:
dpt = collections.defaultdict(int)
...
dpt[key_t] += rat
答案 1 :(得分:1)
这样的东西?
document.body.backgroundColor="black"