方法一:filter函数 a='123and456' number = list(filter(str.isdigit,a)) print(number) 这个方法得到的是一个个单个字符串构成的数字: 方法二:正则表达式 import re print(re.findall(r"\d+\.?\d*",a)) 比起filter函数,正则表达式方法可以让数字连在一起,而不是单个输出: