从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]