回答編集履歴

1

修正

2019/03/31 11:09

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -15,6 +15,8 @@
15
15
  元のリストの要素が**全て文字列であった場合**(註)のサンプルコードです。
16
16
 
17
17
  ```Python
18
+
19
+ # ここでは ↓ これらの要素 ↓ も文字列とする
18
20
 
19
21
  src = ['physics', 'chemistry', '1997', '2000']
20
22
 
@@ -36,7 +38,7 @@
36
38
 
37
39
 
38
40
 
39
- あるいは
41
+ あるいはリスト内包表記を用います。
40
42
 
41
43
  ```Python
42
44
 
@@ -56,10 +58,42 @@
56
58
 
57
59
 
58
60
 
61
+ はたまた以下のように高階関数を用います。
62
+
63
+ ```Python
64
+
65
+ src = 略
66
+
67
+
68
+
69
+ dst = list(
70
+
71
+ filter( # itertools.filterfalse の方が否定論理で書ける分直感的かも
72
+
73
+ lambda e: 'phy' not in e, src
74
+
75
+ )
76
+
77
+ )
78
+
79
+ print(dst)
80
+
81
+ ```
82
+
83
+
84
+
85
+ 個人的には内包表記をお勧めしますが、
86
+
87
+ for文の方が分かり良いならば無理に活用する必要は無いでしょう。少しずつ慣れていけば良いです。
88
+
89
+
90
+
91
+ ---
92
+
59
- **註:** 質問で提示されている例に反する仮定を置いたのには二つ理由があります。
93
+ **註:** 質問で提示されている例に反する前提敢えて置いたのには二つ理由があります。
60
94
 
61
95
  0. リストの要素の型は揃っている方が一般に扱いやすいため。
62
96
 
63
- 揃わないのであれば無理に同じリストに詰めず、クラスやタプルを活用した方が良いです。
97
+ 揃わないのであれば同じリストに詰めず、クラスやタプルを活用した方が良いです。
64
98
 
65
99
  0. 丸投げ回答を避けるため。