欢迎访问宙启技术站
智能推送

如何使用Python函数将字符串中的数字提取出来生成列表?

发布时间:2023-06-25 20:00:24

Python是一种广泛使用的编程语言,可以执行各种任务,例如字符串操作。在字符串中,有时需要将数字提取出来生成列表。在本文中,将介绍如何使用Python函数将字符串中的数字提取出来生成列表。

1. re.findall函数

re.findall函数是Python中用于查找字符串中的匹配项的函数。它需要两个参数:一个是正则表达式模式,一个是要搜索的字符串。re.findall函数将返回所有在字符串中找到的匹配项的列表。

以下是一个简单的示例,演示如何使用re.findall函数提取数字:

import re

s = “There are 15 apples and 25 oranges.”

numbers = re.findall(‘\d+’, s)

print(numbers)

# Output: [‘15’, ‘25’]

在上面的示例中,‘\d+’是正则表达式模式,它匹配数字的所有连续字符。在字符串中,15和25都是数字的连续字符,因此它们被匹配并返回列表。

2. isdigit函数

isdigit函数是Python中用于判断字符串是否仅包含数字的函数。如果字符串包含数字,则该函数将返回True,否则返回False。

以下是一个简单的示例,演示如何使用isdigit函数将数字提取到列表中:

s = “There are 15 apples and 25 oranges.”

numbers = []

for word in s.split():

if word.isdigit():

numbers.append(int(word))

print(numbers)

# Output: [15, 25]

在上面的示例中,split函数将字符串拆分为单个单词,并使用isdigit函数检查每个单词是否仅包含数字。如果是,则将数字转换为整数并将其添加到numbers列表中。

3. 字符串转换

Python中的字符串可以使用int和float函数转换为数字类型。这些函数将接受字符串作为输入,并将其转换为整数或浮点数。

以下是一个简单的示例,演示如何使用字符串转换将数字提取为列表:

s = “There are 15 apples and 25 oranges.”

numbers = []

for word in s.split():

try:

num = int(word)

numbers.append(num)

except ValueError:

pass

print(numbers)

# Output: [15, 25]

在上面的示例中,split函数将字符串拆分为单个单词,并使用int函数检查每个单词是否可以转换为整数。如果可以,则将其添加到numbers列表中。

总结

本文介绍了Python中三种将字符串中的数字提取为列表的方法。re.findall函数使用正则表达式模式从字符串中提取数字;isdigit函数将每个单词转换为数字,并确定其是否是数字;字符串转换将每个单词转换为整数,并将其添加到列表中。无论哪种方法,最终结果都是一个仅包含数字的列表。这些方法在实际应用中很有用,例如从文本文件中提取数值数据。