Python 带空格字符串转数字

在编程中,字符串和数字是两种不同的数据类型。字符串用于表示文本,而数字用于进行数值计算。有时候,我们需要将一个带有空格的字符串转换为数字,以便进行数值操作。本文将介绍在 Python 中如何将带有空格的字符串转换为数字,并给出相应的代码示例。

为什么需要将带空格字符串转数字?

在实际的应用中,有时候我们会从用户输入或者文件中读取到带有空格的字符串,例如 "123 456",这个字符串中包含了两个数字,我们可能需要将这两个数字提取出来并进行计算。另外,有时候在数据处理过程中,字符串中的数字可能会被额外添加空格,例如 " 789 ",我们也需要将其转换为数字。

Python 中的字符串转数字方法

在 Python 中,有多种方法可以将带空格字符串转换为数字,下面是其中两种常见的方法。

方法一:使用 split() 和 map() 函数

首先,我们可以使用 split() 函数将字符串分割成多个子字符串。split() 函数默认以空格作为分隔符,将字符串分割成一个字符串列表。然后,我们可以使用 map() 函数将列表中的每个字符串转换为数字。最后,使用 list() 函数将 map() 函数的结果转换为一个列表。

下面是使用该方法将带有空格的字符串转换为数字的示例代码:

# 输入带有空格的字符串
str_with_spaces = "123 456"

# 使用 split() 函数分割字符串并转换为数字
numbers = list(map(int, str_with_spaces.split()))

# 输出结果
print(numbers)

运行上述代码,输出结果为:

[123, 456]

方法二:使用正则表达式

另一种方法是使用正则表达式来匹配字符串中的数字。我们可以使用 re 模块中的 findall() 函数来查找字符串中所有的数字,并将其转换为数字类型。

下面是使用该方法将带有空格的字符串转换为数字的示例代码:

import re

# 输入带有空格的字符串
str_with_spaces = "  789 "

# 使用正则表达式查找字符串中的数字并转换为数字类型
numbers = list(map(int, re.findall(r'\d+', str_with_spaces)))

# 输出结果
print(numbers)

运行上述代码,输出结果为:

[789]

总结

本文介绍了在 Python 中将带空格字符串转换为数字的两种常见方法,并给出了相应的代码示例。通过使用 split() 函数和正则表达式,我们可以轻松地将带有空格的字符串转换为数字,并进行相应的数值计算。

参考资料

  • Python 文档:[Built-in Functions - split()](
  • Python 文档:[Built-in Functions - map()](
  • Python 文档:[re — Regular expression operations](