それとyieldで作成したイテレータはResetして再利用できないので、
毎回インスタンスを作成することになる。
何回も呼び出した上で効率を考えるなら、1度読み取ってリストにしておく方が良いに決まっている。