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

回答編集履歴

1

追記しました。

2017/10/05 04:37

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -20,4 +20,44 @@
20
20
  [['3', '4', '1'], ['4', '1', '5'], ['1', '5', '6'], ['5', '6', '2'], ['5', '1', '3'], ['1', '3', '0'], ['3', '0', '8'], ['0', '8', '4']]
21
21
  ```
22
22
 
23
- もう少し短くできるかもしれませんけど。。(^ ^;
23
+ もう少し短くできるかもしれませんけど。。(^ ^;
24
+
25
+ ##
26
+ 追記:
27
+
28
+ 6つの数字をどう出力するか(2次元リスト?一つのリスト?)も書いてほしかったです。。(^ ^;
29
+
30
+ コンビネーションはitertoolsで作れます。
31
+ ```python
32
+ from itertools import combinations
33
+
34
+ lists = [['3', '4', '1', '5', '6', '2'],
35
+ ['0', '1', '7', '5', '2', '1'],
36
+ ['5', '1', '3', '0', '8', '4']]
37
+
38
+ for c0 in combinations(lists[0],3):
39
+ for c2 in combinations(lists[2],3):
40
+ print(list(c0+c2))
41
+ ```
42
+ 結果は長いので省略します。
43
+
44
+ 隣接のほうですけど、lists[0]の数字とlists[2]の数字はもちろん隣接していませんよね?
45
+ それを同時に出力して意味があるのでしょうか..?
46
+
47
+ ```python
48
+ lists = [['3', '4', '1', '5', '6', '2'],
49
+ ['0', '1', '7', '5', '2', '1'],
50
+ ['5', '1', '3', '0', '8', '4']]
51
+
52
+ adjoin_results = []
53
+
54
+ for j in range(len(lists[0])-2):
55
+ adjoin_results.append([lists[0][j],lists[0][j+1],lists[0][j+2],
56
+ lists[2][j],lists[2][j+1],lists[2][j+2]])
57
+
58
+ print(adjoin_results)
59
+ ```
60
+ 結果
61
+ ```
62
+ [['3', '4', '1', '5', '1', '3'], ['4', '1', '5', '1', '3', '0'], ['1', '5', '6', '3', '0', '8'], ['5', '6', '2', '0', '8', '4']]
63
+ ```