回答編集履歴

2

編集ミスの復元

2024/11/19 11:34

投稿

otn
otn

スコア85766

test CHANGED
@@ -1,4 +1,4 @@
1
- まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、関数の名前も同じです。
1
+ まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、標準的な関数の名前も同じです。
2
2
 
3
3
  ・単語の先頭からの、(1個以上の)数字の並び
4
4
  ・単語の先頭であくても良いが、英字1文字の後に(0個以上の)英数字が並んだもの

1

別解追記

2024/11/19 11:34

投稿

otn
otn

スコア85766

test CHANGED
@@ -1,4 +1,4 @@
1
- まず、`list`という変数名は使わない方が良いです。その他、標準的な型や関数の名前も同じです。
1
+ まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、関数の名前も同じです。
2
2
 
3
3
  ・単語の先頭からの、(1個以上の)数字の並び
4
4
  ・単語の先頭であくても良いが、英字1文字の後に(0個以上の)英数字が並んだもの
@@ -17,3 +17,9 @@
17
17
  ```
18
18
  1つながりの文字列にして、条件に合うものを`findall`で探します。
19
19
 
20
+ 別解:
21
+ ```Python
22
+ no = [ y.group(0) for x in text_list if (y:=re.match(r'\d+',x)) ]
23
+ syohin = [ y.group(0) for x in text_list if (y:=re.search(r'[A-Za-z][A-Za-z\d]*',x)) ]
24
+ ```
25
+ こういうのはRubyだと、自然に書けるのですが。