new_report_list = [] for sub in result: new_sub = sub.replace(str(mean_arr[0]), '{:.2f}'.format(mean_arr[0])) new_sub = new_sub.replace(str(mean_arr[1]), '{:.2f}'.format(mean_arr[1])) new_sub = new_sub.replace(str(mean_arr[2]), '{:.2f}'.format(mean_arr[2])) new_report_list.append(new_sub)出现'list' object has no attribute 'replace'的错误
时间: 2024-02-06 09:04:02 浏览: 77
这个错误的原因是你正在尝试对一个列表 `result` 中的元素进行替换操作,但是这个元素不是字符串,没有 `replace` 方法。你可以在对元素进行操作之前,先判断它是否是字符串,例如:
```python
new_report_list = []
for sub in result:
if isinstance(sub, str): # 判断 sub 是否是字符串
new_sub = sub.replace(str(mean_arr[0]), '{:.2f}'.format(mean_arr[0]))
new_sub = new_sub.replace(str(mean_arr[1]), '{:.2f}'.format(mean_arr[1]))
new_sub = new_sub.replace(str(mean_arr[2]), '{:.2f}'.format(mean_arr[2]))
new_report_list.append(new_sub)
else:
new_report_list.append(sub) # 如果不是字符串,直接添加到新列表中
```
这样就可以避免对非字符串元素进行操作导致错误的问题了。
阅读全文