在python中尝试任务时,我遇到了以下问题,因为-0.0000由于某种原因被解释为最小值: Python和R中的以下代码显示了问题和区别:
$(function() {
function detEdgeDiff(el) {
var par = el.parent();
var head = $(".elHeader", el);
// Calc expected bottom
var elBottom = el.position().top + head.height() + 200;
// Calc bottom edge + Margin of Parent
var parBottom = par.position().top + par.height() + 20;
// Default height
var results = 200;
if (elBottom > parBottom) {
var diff = Math.round(elBottom - parBottom);
results = 200 - diff;
}
return results;
}
var $element = $(".element");
$element.draggable({
containment: ".container",
handle: ".elHeader"
});
$(".expand").on("click", function(e) {
var d = detEdgeDiff($element);
$(".elBody").css("height", d + "px").slideToggle();
});
});
Python具有以下结果:
# Python code
a1 = ['-0.0069', '-0.0201', '0.0194', '-0.0000']
a2 = ['-0.0069', '-0.0201', '0.0194']
print("Minimum value from ['-0.0069', '-0.0201', '0.0194', '-0.0000'] is " + min(a1))
print("Minimum value from ['-0.0069', '-0.0201', '0.0194'] is " + min(a2))
# R code
> a2 <- c(-0.0069, -0.0201, 0.0194)
> a1 <- c(-0.0069, -0.0201, 0.0194, -0.0000)
> min(a1)
[1] -0.0201
> min(a2)
[1] -0.0201
R正确地输出,如代码结果在行下方所示。
如何解释?我相信-0一般没有定义,但是对Python意味着什么呢?为什么在min()函数中未将其排除或定义为无效?作为一般规则,这是否适用于其他类似功能? R由于某种原因而做的不同。 谢谢!
答案 0 :(得分:3)
那些是字符串。删除数字周围的引号。
a1 = [-0.0069, -0.0201, 0.0194, -0.0000]
a2 = [-0.0069, -0.0201, 0.0194]
print(f"Minimum value from {a1} is {min(a1)}") # -0.0201
print(f"Minimum value from {a2} is {min(a2)}") # -0.0201