如果我有输入字符串:
a = 'W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11'
如何提取数字并存储在列表中?例如
numList = [1,2,3,4,5,6,7,8,9,10,11]
我试过这样做:
[int(t) for t in a if t.isdigit()]
这仅适用于单位数字,但不适用于双位数字。
答案 0 :(得分:2)
您可以按空格分割,然后将每个项目的第一个字符分割出来:
>>> [int(item[1:]) for item in a.split()]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
您也可以(如果适用)(不知道输入字符串的来源和可能的变体),只需从字符串中删除W
并拆分:
>>> a = a.replace("W", "")
>>> [int(item) for item in a.split()]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
答案 1 :(得分:0)
您可以使用正则表达式执行此操作:
import re
numList = re.findall(r'\d+', a)