回答編集履歴
3
修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
`map`はイテレータでもあるので、一度評価(実行)すると、末尾に位置します。
|
4
4
|
|
5
|
-
す
|
5
|
+
すなわち、以下のコードにおいて2回目以降`list(m)`と実行しても(末尾から動かないので)結果は空になります。
|
6
6
|
|
7
7
|
|
8
8
|
|
2
参考追加
test
CHANGED
File without changes
|
1
参考追加
test
CHANGED
@@ -11,6 +11,12 @@
|
|
11
11
|
[イテレータ (iterator)](https://docs.python.jp/3/howto/functional.html#iterators)
|
12
12
|
|
13
13
|
> イテレータは次に進むことしかできませんのでご注意ください; 前の要素を手に入れたり、イテレータをリセットしたり、コピーを作ったりする方法はありません。イテレータがオブジェクトとしてそうした追加機能を 持つことはできますが、プロトコルでは __next__() メソッドのことしか指定されていません。ですから関数はイテレータの出力を使い尽くして しまうかもしれませんし、同じストリームに何か別のことをする 必要があるなら新しいイテレータを作らなくてはいけません。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
参考:[Listing a filter object twice will return a blank list?
|
18
|
+
|
19
|
+
](https://stackoverflow.com/questions/19759247/listing-a-filter-object-twice-will-return-a-blank-list)
|
14
20
|
|
15
21
|
|
16
22
|
|