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

回答編集履歴

6

追記

2021/05/04 14:25

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -19,4 +19,5 @@
19
19
  chunks = re.findall(r'[ATGC]+', name)
20
20
  ```
21
21
 
22
- ATGC文字列のリストが得られるので、一番長いものを選べば良いです。
22
+ ATGC文字列のリストが得られるので、一番長いものを選べば良いです。
23
+ 特にこの問題の場合長さが求められれば良いので、max(map(len, chunks)) で足ります。

5

一部不完全な状態で投稿されていたようなので、再投稿

2021/05/04 14:25

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -1,4 +1,4 @@
1
- 次のようにして文字列に変数を埋め込みます。
1
+ 次のようにして文字列に変数を埋め込みます。
2
2
  ```Python
3
3
  for 略:
4
4
  li.append(re.search(fr'[A.T.G.C]{{{i}}}', name))

4

修正

2021/05/04 14:17

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -1,6 +1,7 @@
1
1
  次のようにして文字列に変数を埋め込みます。
2
2
  ```Python
3
+ for 略:
3
- li.append(re.search(fr'[A.T.G.C]{{{i}}}', name))
4
+ li.append(re.search(fr'[A.T.G.C]{{{i}}}', name))
4
5
  ```
5
6
 
6
7
  {{ は { のエスケープ表現です。}} も然り。
@@ -14,6 +15,7 @@
14
15
  ---
15
16
  for文を使わずとも、次のようにfindallで全抽出すれば充分に思います。
16
17
  ```Python
18
+ name = 'HATAGAYA'
17
19
  chunks = re.findall(r'[ATGC]+', name)
18
20
  ```
19
21
 

3

修正

2021/05/04 13:41

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  ```
5
5
 
6
6
  {{ は { のエスケープ表現です。}} も然り。
7
- f文字列で変数が埋め込まれた結果、[A.T.G.C]{2} みたいな文字列が作られます。
7
+ f文字列で {i} に i が埋め込まれた結果、[A.T.G.C]{2} みたいな文字列が作られます。
8
8
 
9
9
  ただし
10
10
  ---
@@ -14,7 +14,7 @@
14
14
  ---
15
15
  for文を使わずとも、次のようにfindallで全抽出すれば充分に思います。
16
16
  ```Python
17
- chunks = re.findall('[ATGC]+', name)
17
+ chunks = re.findall(r'[ATGC]+', name)
18
18
  ```
19
19
 
20
20
  ATGC文字列のリストが得られるので、一番長いものを選べば良いです。

2

修正

2021/05/04 13:39

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -12,8 +12,9 @@
12
12
 
13
13
  別解
14
14
  ---
15
- for文を使わずとも、findallで全抽出して一番長い文字列を選べば充分に思います。
15
+ for文を使わずとも、次のようにfindallで全抽出すれば充分に思います。
16
16
  ```Python
17
17
  chunks = re.findall('[ATGC]+', name)
18
- chunksから、一番長い文字列を選ぶ
19
- ```
18
+ ```
19
+
20
+ ATGC文字列のリストが得られるので、一番長いものを選べば良いです。

1

追記

2021/05/04 13:38

投稿

LouiS0616
LouiS0616

スコア35680

answer CHANGED
@@ -8,4 +8,12 @@
8
8
 
9
9
  ただし
10
10
  ---
11
- 正規表現として [A.T.G.C] は明らかにおかしく、これは [ATGC] の誤りでしょう。
11
+ 正規表現として [A.T.G.C] は明らかにおかしく、これは [ATGC] の誤りでしょう。
12
+
13
+ 別解
14
+ ---
15
+ for文を使わずとも、findallで全抽出して一番長い文字列を選べば充分に思います。
16
+ ```Python
17
+ chunks = re.findall('[ATGC]+', name)
18
+ chunksから、一番長い文字列を選ぶ
19
+ ```