回答編集履歴
2
編集ミスの復元
    
        answer	
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、関数の名前も同じです。
         
     | 
| 
      
 1 
     | 
    
         
            +
            まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、標準的な関数の名前も同じです。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ・単語の先頭からの、(1個以上の)数字の並び
         
     | 
| 
       4 
4 
     | 
    
         
             
            ・単語の先頭であくても良いが、英字1文字の後に(0個以上の)英数字が並んだもの
         
     | 
1
別解追記
    
        answer	
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            まず、`list`という変数名は使わない方が良いです。その他、 
     | 
| 
      
 1 
     | 
    
         
            +
            まず、`list`という変数名は使わない方が良いです。以降で`list`関数が使えなくなります。その他、関数の名前も同じです。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ・単語の先頭からの、(1個以上の)数字の並び
         
     | 
| 
       4 
4 
     | 
    
         
             
            ・単語の先頭であくても良いが、英字1文字の後に(0個以上の)英数字が並んだもの
         
     | 
| 
         @@ -16,3 +16,10 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
            print(syohin)
         
     | 
| 
       17 
17 
     | 
    
         
             
            ```
         
     | 
| 
       18 
18 
     | 
    
         
             
            1つながりの文字列にして、条件に合うものを`findall`で探します。
         
     | 
| 
      
 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だと、自然に書けるのですが。
         
     |