非常简单的一段代码,它只是看起来很冗长。有没有更好的方法来做到这一点?只是出于好奇。它在python 3.5中。更优雅的方式来做到这一点?
if predictedClassification >= 0.5:
predictedClassification = 1
else
predictedClassification = 0
非常简单的一段代码,它只是看起来很冗长。有没有更好的方法来做到这一点?只是出于好奇。它在python 3.5中。更优雅的方式来做到这一点?
if predictedClassification >= 0.5:
predictedClassification = 1
else
predictedClassification = 0
你可以写为:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
您可以使用if
/else
声明在一个行,如下所示:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
随着if-else
conditional expression:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
如果表达式为True
,则结果等于1
,否则为0。
predictedClassification = 10
predictedClassification = 1 if predictedClassification >= 0.5 else 0
print(predictedClassification)
1
有一个古老的Basic程序员招四舍五入:
rounded = int(float_num + 0.5)
这依赖于你的int
功能只是斩去小数点。在Python的情况下,你的具体的例子:
predictedClassification = int(predictedClassification + 0.5)
注:小心(和运行测试)关于底片。如果您的预测分类为负值,您是否想要向零或远离零进行舍入/截取?也就是说,-.5的PC变成-1还是0?这是一个域问题(意味着您必须决定),但语言可能会让您的事情变得复杂。
我正在考虑通过添加'0.5'来提供一个'int'四舍五入的答案,以放弃条件。但后来我想如果这个数字大于等于1.5,那么它会变成2或更大,而不是1。这和你在笔记中提到的有什么不同。虽然答案很好。 –
自您首次发布以来,我会接受你的。 –