Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แยกตัวเลขจากรายการสตริงใน Python


ในขณะที่ใช้ 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]