2014-02-12 48 views
0

如何從字符串列表中返回尾部數字集合?從字符串列表中返回尾部數字集合python

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

預期的結果:

[2, 20, 244, 288888] 

我的失敗嘗試:

for item in mylist: 
    print item[-1] 

語境:

每個伊特米的列表代表問題的姓名和由兩個部分組成:

  1. 問題姓名和電話號碼:「kys_q1」
  2. 問題元素名稱及編號:「A2」

我試着展示他們可以展示的各種方式。

回答

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] 
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] 
+0

感謝了很多的努力! –

1
>>> [ int(re.findall('(\d+$)', x)[0]) for x in mylist ] 
[2, 20, 244, 288888] 
>>> 
相關問題