回答編集履歴
5
説明追記
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
コーディングスタイル修正
test
CHANGED
@@ -32,7 +32,11 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
-
def take_s(s, key=string.digits.__contains__,
|
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
コメント内のコード修正
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
余分なコード修正
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,
|
35
|
+
def take_s(s, key=string.digits.__contains__, groupby=itertools.groupby, result=None, strjoin="".join):
|
36
36
|
|
37
37
|
"""
|
38
38
|
|
1
説明文追加
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
|
|