y.append(tem[hour.index(i)]) ValueError: 0 is not in list
时间: 2024-02-29 15:52:19 浏览: 61
在Python中操作列表之List.append()方法的使用
这个错误是因为在 `hour.index(i)` 中,列表 `hour` 中没有包含值为 0 的元素。当你使用 `index()` 方法查找一个列表中不存在的元素时,会抛出 `ValueError` 异常。
要解决这个问题,你需要确保在使用 `index()` 方法查找某个元素之前,该元素已经被添加到列表中。你可以使用条件语句来判断,例如:
```
tem = ["12.3", "14.5", "15.6", "13.2", "16.4", "17.8", "18.5", "19.2", "20.1", "21.5", "22.3", "23.4", "25.6", "26.7", "27.8", "28.3", "29.2", "30.1", "31.5", "32.4", "33.6", "34.5", "35.6", "36.7", "37.8"]
hour = [2, 5, 8, 11, 14, 17, 20, 23]
y = []
for i in range(24):
if i in hour: # 判断元素是否在列表中
y.append(tem[hour.index(i)])
else:
y.append(0)
print(y)
```
在这个例子中,我们使用条件语句来判断元素是否在列表 `hour` 中,只有当元素在列表中时才使用 `index()` 方法查找其对应的温度值。如果元素不在列表中,则将其对应的温度值设为 0,并添加到列表 `y` 中。这样一来,就能够避免因为在列表中查找不存在的元素而引发的错误。
阅读全文