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

在使用python进行数据操作时,我们可能会遇到列表,其元素是字母和数字混合在一起的,且具有固定的模式。在本文中,我们将看到如何分隔可用于将来计算的数字大写字母。

与分裂

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]

带映射和数字

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

示例

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]