human
Python関数コードを記述して、特定の数値リストを使用して、ローカルマキシムと1次元関数の最小値を見つけます。
gpt
あなたの代入では様々なインスタンス化が可能なので、その一つを紹介しよう。以下のジェネレータは、数値のリストを受け取り、各非厳密極値に対してペア(i, x)を生成します。ここで、xは極値の値であり、iは元のリストの対応するインデックス（argmaxまたはargmin）です。

```python
def local_extrema(data):
    for i, x in enumerate(data):
        if 0 < i < len(data) - 1:
            if data[i - 1] <= x >= data[i + 1] or data[i - 1] >= x <= data[i + 1]:
                yield i, x
```

(argmaxとargmin)：

```python
data = [1, 2, 3, 2, 5, 5, 3, 2, 10]
for i, x in local_extrema(data):
    print(i, "->", x)
```

期待される出力：

```
2 -> 3
3 -> 2
4 -> 5
5 -> 5
7 -> 2
```

この実装はあなたに適していますか。それとも何かを変更する必要がありますか？