從 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+ 瀏覽次數

開始你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.