回答編集履歴
3
コード修正
test
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
`itertools.combinations`を使うと、ある集合から任意の2個をとる組み合わせを簡単に生成できます。
|
2
2
|
|
3
3
|
```Python
|
4
|
-
|
5
|
-
|
6
4
|
|
7
5
|
import itertools
|
8
6
|
|
@@ -13,6 +11,14 @@
|
|
13
11
|
s = """A社、B社、C社
|
14
12
|
|
15
13
|
2
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
16
22
|
|
17
23
|
A社、E社
|
18
24
|
|
@@ -57,6 +63,8 @@
|
|
57
63
|
data_lines = data_lines.split('\n')
|
58
64
|
|
59
65
|
for line in data_lines:
|
66
|
+
|
67
|
+
line = line.strip() # 前後の空白除去
|
60
68
|
|
61
69
|
if line:
|
62
70
|
|
2
コード修正
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
`itertools.combinations`を使うと、ある集合から任意の2個をとる組み合わせを簡単に生成できます。
|
2
2
|
|
3
3
|
```Python
|
4
|
+
|
5
|
+
|
4
6
|
|
5
7
|
import itertools
|
6
8
|
|
@@ -8,7 +10,33 @@
|
|
8
10
|
|
9
11
|
from io import StringIO
|
10
12
|
|
11
|
-
s =
|
13
|
+
s = """A社、B社、C社
|
14
|
+
|
15
|
+
2
|
16
|
+
|
17
|
+
A社、E社
|
18
|
+
|
19
|
+
2
|
20
|
+
|
21
|
+
D社、F社、G社、I社
|
22
|
+
|
23
|
+
2
|
24
|
+
|
25
|
+
K社、J社、A社
|
26
|
+
|
27
|
+
1
|
28
|
+
|
29
|
+
A社、E社、G社、H社
|
30
|
+
|
31
|
+
1
|
32
|
+
|
33
|
+
A社
|
34
|
+
|
35
|
+
1
|
36
|
+
|
37
|
+
A社、E社
|
38
|
+
|
39
|
+
2"""
|
12
40
|
|
13
41
|
data_lines = StringIO(s).read()
|
14
42
|
|
@@ -38,7 +66,7 @@
|
|
38
66
|
|
39
67
|
s = ' '.join(c)
|
40
68
|
|
41
|
-
print(s)
|
69
|
+
print(s)
|
42
70
|
|
43
71
|
"""
|
44
72
|
|
@@ -80,6 +108,8 @@
|
|
80
108
|
|
81
109
|
G社 H社
|
82
110
|
|
111
|
+
A社 E社
|
112
|
+
|
83
113
|
"""
|
84
114
|
|
85
115
|
```
|
1
コード修正
test
CHANGED
@@ -6,59 +6,79 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
from io import StringIO
|
10
|
+
|
9
|
-
|
11
|
+
s = 'A社、B社、C社\n2\nA社、E社\n2\nD社、F社、G社、I社\n2\nK社、J社、A社\n1\nA社、E社、G社、H社\n1'
|
12
|
+
|
13
|
+
data_lines = StringIO(s).read()
|
10
14
|
|
11
15
|
|
12
16
|
|
13
|
-
n =
|
17
|
+
data_lines = data_lines.replace("2", "")
|
14
18
|
|
15
|
-
|
19
|
+
data_lines = data_lines.replace("1", "")
|
16
20
|
|
17
|
-
|
21
|
+
data_lines = data_lines.replace("、", " ")
|
18
22
|
|
19
|
-
print(n, *c)
|
20
23
|
|
24
|
+
|
25
|
+
# ↑までは質問コードと同じでよい。
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
data_lines = data_lines.split('\n')
|
30
|
+
|
31
|
+
for line in data_lines:
|
32
|
+
|
21
|
-
|
33
|
+
if line:
|
34
|
+
|
35
|
+
line = line.split(' ')
|
36
|
+
|
37
|
+
for c in itertools.combinations(line,2):
|
38
|
+
|
39
|
+
s = ' '.join(c)
|
40
|
+
|
41
|
+
print(s) # ファイルに出力するならf.writeなりする
|
22
42
|
|
23
43
|
"""
|
24
44
|
|
25
|
-
|
45
|
+
A社 B社
|
26
46
|
|
27
|
-
|
47
|
+
A社 C社
|
28
48
|
|
29
|
-
|
49
|
+
B社 C社
|
30
50
|
|
31
|
-
|
51
|
+
A社 E社
|
32
52
|
|
33
|
-
|
53
|
+
D社 F社
|
34
54
|
|
35
|
-
|
55
|
+
D社 G社
|
36
56
|
|
37
|
-
|
57
|
+
D社 I社
|
38
58
|
|
39
|
-
|
59
|
+
F社 G社
|
40
60
|
|
41
|
-
|
61
|
+
F社 I社
|
42
62
|
|
43
|
-
|
63
|
+
G社 I社
|
44
64
|
|
45
|
-
|
65
|
+
K社 J社
|
46
66
|
|
47
|
-
|
67
|
+
K社 A社
|
48
68
|
|
49
|
-
|
69
|
+
J社 A社
|
50
70
|
|
51
|
-
|
71
|
+
A社 E社
|
52
72
|
|
53
|
-
|
73
|
+
A社 G社
|
54
74
|
|
55
|
-
|
75
|
+
A社 H社
|
56
76
|
|
57
|
-
|
77
|
+
E社 G社
|
58
78
|
|
59
|
-
|
79
|
+
E社 H社
|
60
80
|
|
61
|
-
|
81
|
+
G社 H社
|
62
82
|
|
63
83
|
"""
|
64
84
|
|