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