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

回答編集履歴

2

実行例変更

2020/02/10 15:16

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -5,12 +5,18 @@
5
5
  class Sample(list):
6
6
  def __eq__(self, value):
7
7
  return [item == value for item in self]
8
+ def __setitem__(self, where, value):
9
+ for i, replace in enumerate(where):
10
+ replace and super().__setitem__(i, value)
8
11
 
9
12
  train = Sample(['male', 'female', 'female', 'male', 'female'])
10
13
  print(train == 'male')
14
+ train[train == 'male'] = 0
15
+ print(train)
11
16
  ```
12
17
 
13
18
  実行結果:
14
19
  ```python
15
20
  [True, False, False, True, False]
21
+ [0, 'female', 'female', 0, 'female']
16
22
  ```

1

実装例追記

2020/02/10 15:16

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,1 +1,16 @@
1
- Pandas や numpy 特有ですけど、Pythonの機能で作り出すことができますよ。
1
+ Pandas や numpy 特有ですけど、Pythonの機能で作り出すことができますよ。
2
+
3
+ 実装例
4
+ ```python
5
+ class Sample(list):
6
+ def __eq__(self, value):
7
+ return [item == value for item in self]
8
+
9
+ train = Sample(['male', 'female', 'female', 'male', 'female'])
10
+ print(train == 'male')
11
+ ```
12
+
13
+ 実行結果:
14
+ ```python
15
+ [True, False, False, True, False]
16
+ ```