これはおそらく最も素朴なソートの実装である。
このジェネレータはソース配列の1つの要素を昇順で出力する。

```python
def naively_sorted(data):
    unsorted = list(data)
    while unsorted:
        smallest = min(unsorted)
        yield smallest
        unsorted.remove(smallest)
```

チェックする：
```python
print(list(naively_sorted([5, 3, 1, float("-inf"), 1e-5, 3, 777, float("inf"), -12, -.5])))
# prints: [-inf, -12, -0.5, 1e-05, 1, 3, 3, 5, 777, inf]
```。
ここで言うべき性能はないが、ある条件に達する前に最小の要素をいくつかだけ検索したいのであれば、この方法は役に立つかもしれない。
```
for x in naively_sorted([5, -7, 3, 15, 5, -5, 12]):
     if x > 0:
         print(f"The first positive number is {x}.")
         break
# prints: The first positive number is 3.
```
Вот, пожалуй, самая наивная реализация сортировки.
Генератор выдаёт по одному элементу исходного массива в порядке возрастания.

```python
def naively_sorted(data):
    unsorted = list(data)
    while unsorted:
        smallest = min(unsorted)
        yield smallest
        unsorted.remove(smallest)
```

Проверка:
```python
print(list(naively_sorted([5, 3, 1, float("-inf"), 1e-5, 3, 777, float("inf"), -12, -.5])))
# prints: [-inf, -12, -0.5, 1e-05, 1, 3, 3, 5, 777, inf]
```
О производительности тут, конечно, говорить не приходится, но если вы хотите перебрать лишь несколько наименьших элементов до достижения какого-то условия, то, может быть, такой подход вам пригодится.
```
for x in naively_sorted([5, -7, 3, 15, 5, -5, 12]):
     if x > 0:
         print(f"The first positive number is {x}.")
         break
# prints: The first positive number is 3.
```