回答編集履歴

4

追記

2020/09/05 11:08

投稿

jeanbiego
jeanbiego

スコア3966

test CHANGED
@@ -21,3 +21,47 @@
21
21
  # [2]
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ # 追記
28
+
29
+ set使わないver
30
+
31
+ ```python3
32
+
33
+ def intersection(n1,n2):
34
+
35
+ i = 0
36
+
37
+ lst = []
38
+
39
+ for j in n2:
40
+
41
+ if (j in n1) and not(j in lst):
42
+
43
+ lst.append(j)
44
+
45
+ return lst
46
+
47
+ intersection([1,2,4],[2,2,3,5])
48
+
49
+ # [2]
50
+
51
+ ```
52
+
53
+
54
+
55
+ LouiS0616さんのコード、これが最もスマート
56
+
57
+ ```python3
58
+
59
+ def intersection(n1,n2):
60
+
61
+ return list(set(n1)&set(n2))
62
+
63
+ intersection([1,2,4],[2,2,3,5])
64
+
65
+ # [2]
66
+
67
+ ```

3

コード修正

2020/09/05 11:08

投稿

jeanbiego
jeanbiego

スコア3966

test CHANGED
@@ -5,8 +5,6 @@
5
5
  ```python3
6
6
 
7
7
  def intersection(n1,n2):
8
-
9
- i = 0
10
8
 
11
9
  d_set = set()
12
10
 

2

コード修正

2020/09/05 09:51

投稿

jeanbiego
jeanbiego

スコア3966

test CHANGED
@@ -20,6 +20,6 @@
20
20
 
21
21
  intersection([1,2,4],[2,2,3,5])
22
22
 
23
- # [2, 3, 5]
23
+ # [2]
24
24
 
25
25
  ```

1

修正

2020/09/05 09:51

投稿

jeanbiego
jeanbiego

スコア3966

test CHANGED
@@ -1,4 +1,4 @@
1
- 色々ありそうですが、集計先をsetにしとくという手段で書いてみました。(※setは重複を自動でなくしてくれます)
1
+ 色々ありそうですが、n2の要素だけforで回してn1に入っているか判定、その集計先をsetにしとくという手段で書いてみました。(※setは重複を自動でなくしてくれます)
2
2
 
3
3
 
4
4
 
@@ -10,17 +10,11 @@
10
10
 
11
11
  d_set = set()
12
12
 
13
- for i in n1:
13
+ for j in n2:
14
14
 
15
- for j in n2:
15
+ if j in n1:
16
16
 
17
- if j in range(i):
18
-
19
- d_set.add(j)
17
+ d_set.add(j)
20
-
21
- i += 1
22
-
23
-
24
18
 
25
19
  return list(d_set)
26
20