gpt4 book ai didi

for 循环中的 Python 异常处理

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:08 25 4
gpt4 key购买 nike

我是 Python 和一般编程的新手。虽然我认为这个问题可能与我使用异常处理有关,但也可能是由于普遍缺乏理解!

for i in range(0, len(dates)):
try:
data.append(WUF.getwx(location[j], dates[i])[1])
continue
except xml.etree.ElementTree.ParseError:
#copy last good row of data and use it for the missing day
fixdata = data[-1] #[1,2,3,4,5,6,7,8,9,10,11]
fixdata[10] = 'estimated'
data.append(fixdata)

当我按照编写的方式运行代码时,我在 data 中得到 2 个“估计”行。一个用于前一日期,一个用于估计的日期。如果我将 fixdata 变量更改为 [1, 2, 3, 4, 5, ...],那么只有一行(预计日期的预期行)是“估计的”。

知道我在这里缺少什么吗?谢谢!

最佳答案

问题在行中:

fixdata = data[-1]

这实际上并没有复制数据,它只是复制了对数据的引用fixdata 最终指向列表中的原始元素,因此当您执行此操作时

fixdata[10] = 'estimated'

它改变了原始数据。

要真正复制数据,试试这个:

fixdata = data[-1][:]

[:] 复制整个列表,这就是我认为您正在尝试做的事情。

关于for 循环中的 Python 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com