0
我是python的新手,遇到了我的代码问题。我试图减去两个数组,其中一个有新的值附加到它,但不能让它打印新的数组与减去值。我试图解决它给了我的值只是for循环的加法。我应该使用lambda来尝试和减去这两个?减去两个数组
from array import *
类气温:
@staticmethod
def Model():
days = array('i',[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])
recordedtemp = array('i', [63,62,69,76,70,68,71,71,73,74,75,78,77,77,76,76,77,78,78,82,82,82,81,82,82,76,75,81,85,89])
print("Temperature:")
for i in days:
modelarray = array('i'[0]) * 30
modeltemp = float(0.5904) * i + float(67.048)
rounding = int(round(modeltemp, 2))
modelarray.append(rounding)
print(modeltemp)
continue
print("Error:")
a = list(map(lambda x,y: x - y, recordedtemp, modelarray))
print(a)
你能解释一下更多关于你想要结果的内容吗?你在循环中的每一遍都重新创建了'modelarray'值,所以它总是有31个值(原来的30个零,加上一个附加值)。你是否想用新的替换零值?你以后的'map'调用将忽略任何附加值,因为当它给出的最短迭代器耗尽时,它会停止映射。最后一个问题:你是否考虑过使用'numpy'而不是'array'? 'numpy'是专为数字计算而设计的。 – Blckknght
感谢您接受我的回答,请查看我在这里发布的额外代码。看起来你来自像Java或C#这样的东西,一切都必须是一个类。静态方法在Python中很少使用,因为我们有第一类函数。此外,如果你正在做科学类型的东西,看看NumPy让你的生活变得多容易。 – chthonicdaemon