ขณะใช้ 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)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
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)
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given list : ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7'] List only with numbers : [2, 8, 2, 7]