【发布时间】:2014-04-28 18:59:56
【问题描述】:
我在一个函数中有一段代码可以进行一些比较,即:
if customer_info['total_dls'] < min_training_actions \
or customer_info['percentage'] > train_perc_cutoff:
continue
elif customer_id not in test_set \
or test_set[customer_id]['total_dls'] < min_testing_actions:
num_uncertain +=1
continue
elif test_set[customer_id]['percentage'] <= test_perc_cutoff:
num_correct +=1
else:
num_incorrect +=1
现在有时我需要将这些比较大于,有时我需要它们小于。其余所有代码完全相同。现在,我可以只创建两个重用基本相同代码的函数,但在此之前,是否有一些干净的方法可以对比较运算符进行变量化,所以我可以使用相同的代码块并将比较作为变量传递?类似:compare(var1, var2, polarity)。 我知道我可以自己制作,但我想知道在这种情况下的标准是什么。是否有一些我不知道的非常pythonic的方式来做到这一点?
[编辑] 强调问题最重要的部分[/编辑]
【问题讨论】:
-
您的缩进似乎已关闭,很难看出您的确切意思。
-
我认为在任何时候你会打电话给
compare(var1, var2, operator.lt)左右,这只是写var1 < var2的一种混淆方式。
标签: python comparison-operators