python 一组数据当第i个元素小于平均值,第i+1个元素大于平均值记录数据i到一个向量 函数代码
时间: 2024-05-01 20:17:26 浏览: 11
下面是一个实现思路:
1. 首先计算出给定数据的平均值,可以使用 numpy 库中的 mean() 函数实现。
2. 然后遍历数据列表,如果当前元素小于平均值,则将其下标 i 记录到一个列表中。
3. 接下来再次遍历数据列表,如果当前元素大于平均值且其下标为记录的列表中的下一个元素,则将当前元素的值记录到一个向量中。
4. 最后返回记录的向量即可。
下面是示例代码:
```python
import numpy as np
def record_data(data):
avg = np.mean(data)
idx = [i for i in range(len(data)) if data[i] < avg]
vector = []
for i, d in enumerate(data):
if i == idx[0] + 1 and d > avg:
vector.append(d)
if len(idx) > 1:
idx.pop(0)
elif i > idx[-1]:
break
return vector
```
示例运行代码及结果:
```python
data = [1, 3, 2, 4, 5, 6, 7, 8, 9, 10]
vector = record_data(data)
print(vector)
```
输出结果:
```
[4, 5, 6, 7, 8, 9, 10]
```
以上就是一个简单的函数实现,可以根据实际需求进行优化或修改。