ในขณะที่ใช้ python สำหรับการจัดการข้อมูล เราอาจพบรายการที่มีองค์ประกอบเป็นตัวอักษรและตัวเลขผสมกันที่มีรูปแบบตายตัว ในบทความนี้เราจะมาดูวิธีแยกตัวเลขจากตัวอักษรที่สามารถใช้ในการคำนวณในอนาคตกัน
มีการแบ่ง
ฟังก์ชัน split จะแยกสตริงโดยใช้อักขระที่ถือว่าเป็นตัวคั่น ในโปรแกรมด้านล่าง องค์ประกอบรายการมียัติภังค์เป็นตัวคั่นระหว่างตัวอักษรและข้อความ เราจะใช้สิ่งนั้นร่วมกับ for loop เพื่อจับแต่ละอัน
ตัวอย่าง
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]