回答編集履歴
3
表現の修正
answer
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
**勘違いしていそうな点**
|
8
8
|
range(x, y) は x以上y未満の整数を送出します。
|
9
9
|
|
10
|
-
**
|
10
|
+
**明らかなバグ**
|
11
|
-
b_pairs
|
11
|
+
b_pairsを毎回上書きして、前の周回のデータを吹っ飛ばしてます。
|
12
12
|
|
13
13
|
---
|
14
14
|
こんなのを書きたかったのでは。何が違うか見比べてみて下さい。
|
2
修正
answer
CHANGED
@@ -21,7 +21,8 @@
|
|
21
21
|
b_pairs = []
|
22
22
|
for i in range(2, n+1):
|
23
23
|
b_pairs += list(itertools.combinations(b, i))
|
24
|
-
|
24
|
+
# 単に b_pairs += itertools.combinations(b, i) でも可
|
25
|
+
|
25
26
|
print(b_pairs)
|
26
27
|
```
|
27
28
|
|
1
追記
answer
CHANGED
@@ -28,4 +28,17 @@
|
|
28
28
|
**実行結果** [Wandbox](https://wandbox.org/permlink/fJ8bgVnEuyTOAWJu)
|
29
29
|
```
|
30
30
|
[(1, 2), (1, 3), (2, 3), (1, 2, 3)]
|
31
|
+
```
|
32
|
+
|
33
|
+
おまけ
|
34
|
+
---
|
35
|
+
こういうときは[more-itertools](https://more-itertools.readthedocs.io/en/stable/index.html)が便利です。
|
36
|
+
```Python
|
37
|
+
>>> list(more_itertools.powerset(b))
|
38
|
+
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
|
39
|
+
>>> [s for s in more_itertools.powerset(b)]
|
40
|
+
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]
|
41
|
+
>>>
|
42
|
+
>>> [s for s in more_itertools.powerset(b) if len(s) >= 2]
|
43
|
+
[(1, 2), (1, 3), (2, 3), (1, 2, 3)]
|
31
44
|
```
|