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


在使用 Python 进行数据处理时,我们可能会遇到混合有字母和数字的列表,并具有固定的模式。在本文中,我们将了解如何将数字从字母中分离,这些数字可用于未来的计算。

使用 split

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

实例

 在线演示

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

# Given list
print("Given list : " + str(listA))

# Extracting numbers
num_list = [int(i.split('-')[1]) for i in listA]

# print result
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']

# Given list
print("Given list : " + str(listA))

# Extracting numbers
num_list = list(map(lambda sub:int(''.join(
[i for i in sub if i.isnumeric()])), listA))

# print result
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]

更新于: 2020 年 5 月 5 日

1K+ 浏览次数

开始你的 职业生涯

通过完成课程获得认证

开始
广告