回答編集履歴

1

追記

2018/09/23 05:48

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -31,3 +31,47 @@
31
31
  None
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ また、removeメソッドは最初の要素しか取り除いてくれません。
38
+
39
+ ```Python
40
+
41
+ >>> lst = [*range(10), *range(10)]
42
+
43
+ >>> lst
44
+
45
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
46
+
47
+ >>>
48
+
49
+ >>> lst.remove(0)
50
+
51
+ >>> lst
52
+
53
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
54
+
55
+ ```
56
+
57
+
58
+
59
+ 代わりにfilterを使ってやると良いでしょう。
60
+
61
+ ```Python
62
+
63
+ >>> lst = [*range(10), *range(10)]
64
+
65
+ >>> lst
66
+
67
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
68
+
69
+ >>>
70
+
71
+ >>> lst = list(filter(lambda d: d not in (0, ), lst))
72
+
73
+ >>> lst
74
+
75
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
76
+
77
+ ```