predict_sum = [] for i in range(5): if r2_index[i] != ((len(data_history_conversion)) - 1): predict_day = dataset_history[96 * (r2_index[i] + 1):96 * (r2_index[i] + 2)] else: predict_day = dataset_history[96 * (r2_index[i - 1] + 1):96 * (r2_index[i - 1] + 2)] predict_sum.append(predict_day) 代码优化
时间: 2024-01-20 17:04:34 浏览: 68
可以将if-else语句中的重复代码提取出来,可以使用一个变量来存储 r2_index[i] 的值,这样代码就可以减少重复部分。优化后的代码如下:
```
predict_sum = []
for i in range(5):
next_index = r2_index[i] + 1
if next_index != len(data_history_conversion):
predict_day = dataset_history[96 * next_index:96 * (next_index + 1)]
else:
last_index = r2_index[i - 1] + 1
predict_day = dataset_history[96 * last_index:96 * (last_index + 1)]
predict_sum.append(predict_day)
```
相关问题
for i in range(5): if r2_index[i] != ((len(data_history_conversion)) - 1): predict_day = dataset_history[96 * (r2_index[i] + 1):96 * (r2_index[i] + 2)] else: predict_day = dataset_history[96 * (r2_index[i - 1] + 1):96 * (r2_index[i - 1] + 2)] predict_sum.append(predict_day) 代码优化
可以将代码优化成如下形式:
```
for i in range(5):
if r2_index[i] != len(data_history_conversion) - 1:
predict_day = dataset_history[96 * (r2_index[i] + 1):96 * (r2_index[i] + 2)]
else:
predict_day = dataset_history[96 * (r2_index[i - 1] + 1):96 * (r2_index[i - 1] + 2)]
predict_sum.append(predict_day)
```
主要是将if语句的条件判断部分中的括号去掉,这样更加简洁清晰。
阅读全文