python提取输入的全部数值

python提取输入的全部数值

作者:Joshua Lee发布时间:2026-03-28阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Python中识别字符串中的所有数字?

我有一个包含多个数字和文本的字符串,怎样才能提取出其中的所有数字?

A

使用正则表达式提取字符串中的所有数字

可以利用Python的re模块,通过re.findall()函数匹配所有数字模式,从而提取字符串中的所有数字。示例代码:

import re
text = 'abc123def45gh6'
numbers = re.findall(r'\d+', text)
print(numbers)  # 输出: ['123', '45', '6']
Q
怎样将输入中的数字转换为整数列表?

从用户输入的文本中提取数字后,如何将它们转换为整数方便后续操作?

A

将提取的数字字符串转换为整数

提取到数字字符串列表后,使用列表推导式将其转换为整数类型。例如,代码如下:

numbers_str = ['123', '45', '6']
numbers_int = [int(num) for num in numbers_str]
print(numbers_int)  # 输出: [123, 45, 6]
Q
如何处理浮点数或者带小数点的数值提取?

如果输入中包含带小数点的数值,Python应该如何提取这些数值?

A

使用正则表达式支持小数点数字的提取

可以调整正则表达式模式,使其匹配包含小数点的数字。示例代码:

import re
text = 'price is 123.45 and discount is 67.89'
numbers = re.findall(r'\d+\.\d+', text)
print(numbers)  # 输出: ['123.45', '67.89']

注意这将只匹配带有小数点的数字,如果同时需要整数和浮点数,可以用更复杂的表达式。