回答編集履歴

3

ゴミ消し

2019/08/09 08:47

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -16,7 +16,11 @@
16
16
 
17
17
 
18
18
 
19
+ ~~ただし、組み合わせの数が大きいので、21倍するとそもそもメモリに乗るかどうかというところでしょう。
20
+
21
+ ~~
22
+
19
- ただし、組み合わせの数が大きいので、21倍するとそもそもメモリに乗るかどうかというところでしょう。何をするにしてもこんな大きいものをナイーブに扱っていたらバカ遅いので、アルゴリズムの面で工夫しないといけない気がします。
23
+ 何をするにしてもこんな大きいものをナイーブに扱っていたらバカ遅いので、アルゴリズムの面で工夫しないといけない気がします。
20
24
 
21
25
 
22
26
 

2

追記

2019/08/09 08:47

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -17,3 +17,29 @@
17
17
 
18
18
 
19
19
  ただし、組み合わせの数が大きいので、21倍するとそもそもメモリに乗るかどうかというところでしょう。何をするにしてもこんな大きいものをナイーブに扱っていたらバカ遅いので、アルゴリズムの面で工夫しないといけない気がします。
20
+
21
+
22
+
23
+ #### 追記
24
+
25
+ 実測した感じ、numpyで転置取るよりはzipの方が倍くらい速かったです。
26
+
27
+
28
+
29
+ ```python
30
+
31
+ import more_itertools
32
+
33
+
34
+
35
+ amino_acid = "L" * 4 + "A" * 4 + "-" * 13
36
+
37
+ gen = more_itertools.distinct_permutations(amino_acid)
38
+
39
+
40
+
41
+ patterns = list(map("".join, zip(*gen)))
42
+
43
+
44
+
45
+ ```

1

複数形か

2019/08/09 08:43

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  amino_acid = 'L'*4 + 'A'*4 + '-'*13
12
12
 
13
- all_pattern = list(map("".join, more_itertools.distinct_permutations(amino_acid)))
13
+ all_patterns = list(map("".join, more_itertools.distinct_permutations(amino_acid)))
14
14
 
15
15
  ```
16
16