line 47, in init_show_chart self.lineList.add(nv) AttributeError: 'list' object has no attribute 'add'
时间: 2023-12-13 20:05:15 浏览: 39
这个错误提示表明,在代码的第 47 行,你试图对一个 list 类型的变量使用 add() 方法,而 list 类型是不支持 add() 方法的,因此出现了 AttributeError 错误。
可能的原因是在前面的代码中,你将一个 set 类型的变量转换为了 list 类型,然后尝试在 list 类型的变量上使用 set 类型的方法。要解决这个问题,可以考虑将 list 类型的变量转换回 set 类型,或者直接使用 set 类型的变量。
解决这个问题的方法有两种:
1. 将 list 类型的变量转换为 set 类型,然后再使用 add() 方法。可以使用 set() 函数将 list 转换为 set,例如:
```
self.lineList = set(Global.NotTerminal)
self.lineList.add(nv)
```
2. 直接使用 set 类型的变量进行处理,不进行转换操作。如果不需要使用 list 类型的方法,可以直接使用 set 类型的变量,例如:
```
self.lineList = Global.NotTerminal
self.lineList.add(nv)
```
根据实际需要选择适合的方法即可。
相关问题
line 47, in init_show_chart self.lineList = Global.NotTerminal[:] TypeError: 'set' object is not subscriptable
这个错误提示表明,在代码的第 47 行,你试图对一个 set 类型的变量进行切片操作,而 set 类型是不支持切片操作的,因此出现了 TypeError 错误。
解决这个问题的方法有两种:
1. 将 set 类型的变量转换为 list 类型,然后再进行切片操作。可以使用 list() 函数将 set 转换为 list,例如:
```
self.lineList = list(Global.NotTerminal)[:]
```
2. 直接使用 set 类型的变量进行处理,不进行切片操作。如果不需要对变量进行切片操作,可以直接使用 set 类型的变量,例如:
```
self.lineList = Global.NotTerminal
```
根据实际需要选择适合的方法即可。
把c#函数用python重写 #region 测深垂线间平均水深、测深垂线间间距、测深垂线间水道断面面积计算 private void CalculateBetweenDepthLine_AvgDepth_Gap_Area() { for (int i = 0; i < ResultLineList.Count; i++) { if (ResultLineList[i].VLineOrder == -9999) { ResultLineList[i].AvgDepthBetweenDLine = null;//(float)Math.Round((result_LineList[i - 1].Depth + result_LineList[i].Depth) / 2f, 2); ResultLineList[i].GapBetweenDLine = null;//(float)Math.Round(result_LineList[i].InitPointDistance - result_LineList[i-1].InitPointDistance, 1); ResultLineList[i].AreaBetweenDLine = null;// result_LineList[i].AvgDepthBetweenDLine * result_LineList[i].GapBetweenDLine; } else { ResultLineList[i].AvgDepthBetweenDLine = NumValid.PrecisionConvert_Depth((ResultLineList[i - 1].Depth + ResultLineList[i].Depth) / 2f); ResultLineList[i].GapBetweenDLine = NumValid.PrecisionConvert_Width(ResultLineList[i].InitPointDistance - ResultLineList[i - 1].InitPointDistance); ResultLineList[i].AreaBetweenDLine = NumValid.PrecisionConvert_Area((double)(ResultLineList[i].AvgDepthBetweenDLine * ResultLineList[i].GapBetweenDLine)); } } } #endregion
def calculate_between_depth_line_avg_depth_gap_area(result_line_list):
for i in range(len(result_line_list)):
if result_line_list[i].VLineOrder == -9999:
result_line_list[i].AvgDepthBetweenDLine = None
result_line_list[i].GapBetweenDLine = None
result_line_list[i].AreaBetweenDLine = None
else:
result_line_list[i].AvgDepthBetweenDLine = NumValid.PrecisionConvert_Depth((result_line_list[i - 1].Depth + result_line_list[i].Depth) / 2)
result_line_list[i].GapBetweenDLine = NumValid.PrecisionConvert_Width(result_line_list[i].InitPointDistance - result_line_list[i - 1].InitPointDistance)
result_line_list[i].AreaBetweenDLine = NumValid.PrecisionConvert_Area(float(result_line_list[i].AvgDepthBetweenDLine * result_line_list[i].GapBetweenDLine))
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)