回答編集履歴

3

追記

2018/11/20 13:47

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -18,6 +18,38 @@
18
18
 
19
19
 
20
20
 
21
+ ---
22
+
23
+ こんな方法もあります。
24
+
25
+ ```Python
26
+
27
+ fruits = ['apple','banana','orange']
28
+
29
+
30
+
31
+ it = filter(
32
+
33
+ lambda kv: 'n' in kv[-1], # 『nを含む』という仮の条件
34
+
35
+ enumerate(fruits)
36
+
37
+ )
38
+
39
+ for i, fruit in it:
40
+
41
+ print(i, fruit)
42
+
43
+ ```
44
+
45
+
46
+
47
+ 条件部がだらだら長くなりそうなときにたまに使います。
48
+
49
+
50
+
51
+ ---
52
+
21
53
  > どのような方法が一番よいのか(あるいは、好みでどれでもよいのか)意見を聞きたいです。
22
54
 
23
55
 

2

追記

2018/11/20 13:47

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,4 @@
1
- enumerateを使うのがすっきりしています。
1
+ enumerateを使うすっきりします。
2
2
 
3
3
  ```Python
4
4
 
@@ -15,3 +15,13 @@
15
15
 
16
16
 
17
17
  ご提示の例だと、二番に近いですね。
18
+
19
+
20
+
21
+ > どのような方法が一番よいのか(あるいは、好みでどれでもよいのか)意見を聞きたいです。
22
+
23
+
24
+
25
+ 好みにも依りますが、とりあえず三番は避けるべきでしょう。
26
+
27
+ list.indexによる余計な探索コストが生じます。

1

修正

2018/11/20 13:42

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -14,4 +14,4 @@
14
14
 
15
15
 
16
16
 
17
- ご提示の例だと、番に近いですね。
17
+ ご提示の例だと、番に近いですね。