回答編集履歴

5

説明追記

2020/04/11 22:21

投稿

teamikl
teamikl

スコア8760

test CHANGED
@@ -143,3 +143,13 @@
143
143
 
144
144
 
145
145
  ![イメージ説明](a8ee44182192e6443210b3d6da8fac1b.png)
146
+
147
+
148
+
149
+ ----
150
+
151
+ 追記: 試していない事
152
+
153
+ - pypy や Numba 等での JITコンパイル。
154
+
155
+ - 全角数字を対象にした場合の、正規表現 vs str.isdigit

4

コーディングスタイル修正

2020/04/11 22:21

投稿

teamikl
teamikl

スコア8760

test CHANGED
@@ -32,7 +32,11 @@
32
32
 
33
33
 
34
34
 
35
- def take_s(s, key=string.digits.__contains__, groupby=itertools.groupby, result=None, strjoin="".join):
35
+ def take_s(s, key=string.digits.__contains__,
36
+
37
+ groupby=itertools.groupby,
38
+
39
+ result=None, strjoin="".join):
36
40
 
37
41
  """
38
42
 

3

コメント内のコード修正

2020/04/11 21:54

投稿

teamikl
teamikl

スコア8760

test CHANGED
@@ -116,7 +116,7 @@
116
116
 
117
117
  """
118
118
 
119
- # py3.8) if m := match(s)
119
+ # py3.8) if m := match(s):
120
120
 
121
121
  m = match(s)
122
122
 

2

余分なコード修正

2020/04/11 21:47

投稿

teamikl
teamikl

スコア8760

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- def take_s(s, key=string.digits.__contains__, groupby=itertools.groupby, result=None, int=int, strjoin="".join):
35
+ def take_s(s, key=string.digits.__contains__, groupby=itertools.groupby, result=None, strjoin="".join):
36
36
 
37
37
  """
38
38
 

1

説明文追加

2020/04/11 21:45

投稿

teamikl
teamikl

スコア8760

test CHANGED
@@ -1,6 +1,10 @@
1
1
  先程の回答は質問を読み違えてたので、コードのみ再投稿します。
2
2
 
3
3
 
4
+
5
+ - take_s: `itertools.groupby` で 数字と数字以外に分離する方法。
6
+
7
+ - take_s_re: 正規表現を使った方法。
4
8
 
5
9
 
6
10