使用 Python 从字符串列表中提取数字

pythonserver side programmingprogramming更新于 2025/11/23 19:24:17

在使用 Python 进行数据处理时,我们可能会遇到元素由字母和数字混合而成且具有固定模式的列表。在本文中,我们将了解如何将数字从字母中分离出来,以便用于将来的计算。

使用 split

split 函数借助被视为分隔符的字符来拆分字符串。在下面的程序中,列表元素以连字符作为字母和文本之间的分隔符。我们将使用它以及 for 循环来捕获每个

示例

listA = ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']

# 给定列表
print("Given list : " + str(listA))

# 提取数字
num_list = [int(i.split('-')[1]) for i in listA]

# 打印结果
print("List only with numbers : ",num_list)

输出

运行上述代码得到以下结果 −

Given list : ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']
List only with numbers : [2, 8, 2, 7]

使用 map 和 isnumeric

在这种方法中,我们遍历每个元素并检查每个元素中是否存在数字部分。map 函数用于在每个元素上重复应用相同的函数。

示例

listA = ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']

# 给定列表
print("Given list : " + str(listA))

# 提取数字
num_list = list(map(lambda sub:int(''.join(
[i for i in sub if i.isnumeric()])), listA))

# 打印结果
print("List only with numbers : ",num_list)

输出

运行上述代码得到以下结果 −

Given list : ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']
List only with numbers : [2, 8, 2, 7]

相关文章


有用资源