2014-02-12 49 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] 
>>> 
相关问题