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

ดึงตัวเลขจากลิสต์ของสตริงใน 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)

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]