0

文字列のリストから末尾の数値セットを返すにはどうすればよいですか?

mylist = ['kys_q1a2','kys_q3a20','kys_q2889b244','sonyps3_q92c288888']

期待される結果:

[2, 20, 244, 288888] 

私の失敗した試み:

for item in mylist:
    print item[-1]

環境:

リスト内の各項目は質問名を表し、2 つの部分で構成されています。

  1. 質問名と質問番号:「kys_q1」
  2. 質問要素の名前と番号: "a2"

さまざまな表示方法を示してみました。

4

3 に答える 3

5

正規表現を使用できます:

>>> import re
>>> r = re.compile(r'\d+$')
>>> [int(m.group()) for m in (r.search(item) for item in mylist) if m]
[2, 20, 244, 288888]
于 2014-02-12T11:19:51.057 に答える
1

正規表現を使用して末尾の数字を照合できます。

>>> mylist = ['kys_q1a2','kys_q3a20','kys_q2889b244','sonyps3_q92c288888']
>>> [int(re.search(r'\d+$', el).group(0)) for el in mylist]
[2, 20, 244, 288888]
于 2014-02-12T11:19:37.550 に答える