很抱歉,如果这个问题已在其他地方得到解答,但我不确定具体的术语是否可以找到。
我想用这段代码做的是:
当我尝试运行此操作时,我收到错误消息。 运行时错误(IndexOutOfRangeException):索引超出范围:1
任何人都可以建议更好的方法来做这件事/告诉我哪里出错了谢谢你!
groundtempCtext = []
groundtempCtext.append(min(groundtempall))
for i in range(1,len(divisionPts1)):
c = (max(groundtempall)-min(groundtempall))/(len(divisionPts1)-1)
groundtempCtext.append(c+groundtempCtext[i-1])
groundtempCtext.append(max(groundtempall))
答案 0 :(得分:0)
我只是跟踪总数,你可以使用列表comp,但循环将更容易理解:
c = (max(ground_temp_all) - min(ground_temp_all)) / (len(division_pts1)-1) # calculate once as it does not change
ground_temp_c_text = [min(ground_temp_all)] # just add min directly to list.
tot = ground_temp_c_text[0] # set total to first value in the list
for _ in range(1, len(division_pts1)):
tot += c # same as adding c to the last value in the list
ground_temp_c_text.append(tot)
我还改变了你的变量以使用下划线,这是pythonic方式。
答案 1 :(得分:0)
您可以使用列表推导而不是循环。
stepSize = (max(groundtempall)-min(groundtempall))/(len(divisionPts1)-1)
groundtempCtext = [min(groundtempall) + ind * stepSize for ind in range(len(divisionPts1))]