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