非常简单的代码片段,但它似乎只是冗长的方式。有没有更好的方法在一行中做到这一点?只是出于好奇。它在python 3.5中。
if predictedClassification >= 0.5:
predictedClassification = 1
else
predictedClassification = 0
答案 0 :(得分:4)
您可以在一行中使用if
/ else
语句,如下所示:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
答案 1 :(得分:3)
您可以将其写为:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
答案 2 :(得分:3)
使用if-else
conditional expression:
predictedClassification = 1 if predictedClassification >= 0.5 else 0
如果表达式为1
,则结果等于True
,否则为0。
predictedClassification = 10
predictedClassification = 1 if predictedClassification >= 0.5 else 0
print(predictedClassification)
1
答案 3 :(得分:1)
有一个旧的BASIC程序员用于舍入的技巧:
rounded = int(float_num + 0.5)
这取决于你的int
函数只是截断小数点。对于Python和您的具体示例:
predictedClassification = int(predictedClassification + 0.5)
注意:小心(并运行测试)关于否定。如果您的predictClassification为负数,是否要将零/截断为零或从零开始?也就是说,-.5的PC变为-1还是0?这是一个域名问题(意味着您必须决定),但语言可能会让您感到复杂。