teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

文章を修正

2017/04/18 15:06

投稿

yukkeorg
yukkeorg

スコア985

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  Python3に組み込みの`filter`関数はイテレータをを返します。イテレータは一度ループで処理(`for cond in filterd:`)してしまうと巻き戻りが起きないため、その後のループ(`for item in filtered:`)で利用しようとしてもイテレータがさすデータがないことから、ループ処理が行われません。
2
2
 
3
- 今回の場合は、以下のように`filter`関数で帰ってきたイテレータで順次取得できる値をリストにしてしまうと良いかと思います。
3
+ 今回の場合は、以下のように`filter`関数で帰ってきたイテレータで順次取得できる値をリストすると良いかと思います。
4
4
 
5
5
  ``` python
6
6
  filtered = list(filter(lambda n: n['duplicated'] == False, candidates))

1

文章を修正

2017/04/18 15:06

投稿

yukkeorg
yukkeorg

スコア985

answer CHANGED
@@ -6,4 +6,4 @@
6
6
  filtered = list(filter(lambda n: n['duplicated'] == False, candidates))
7
7
  ```
8
8
 
9
- `finals`のほうは上の`filtered`が動いていないため、空リストとなっています。
9
+ `finals`のほうは上の`filtered`のループが動いていないため、空リストとなっています。