เมื่อจำเป็นต้องจัดเรียงรายการสตริงที่กำหนดตามส่วนตัวเลขของสตริง จะมีการกำหนดวิธีการที่ใช้นิพจน์ทั่วไป เมธอด 'map' และวิธีการ 'list' เพื่อแสดงผลลัพธ์
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
import re print("The regular expression package has been imported successfully.") def my_digit_sort(my_list): return list(map(int, re.findall(r'\d+', my_list)))[0] my_list = ["pyt23hon", "fu30n", "lea14rn", 'co00l', 'ob8uje3345t'] print("The list is : " ) print(my_list) my_list.sort(key=my_digit_sort) print("The list has been sorted based on the pre-defined method..") print("The resultant list is : ") print(my_list)
ผลลัพธ์
The regular expression package has been imported successfully. The list is : ['pyt23hon', 'fu30n', 'lea14rn', 'co00l', 'ob8uje3345t'] The list has been sorted based on the pre-defined method.. The resultant list is : ['co00l', 'ob8uje3345t', 'lea14rn', 'pyt23hon', 'fu30n']
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม
-
มีการกำหนดเมธอดชื่อ 'my_digit_sort' และแสดงรายการเป็นพารามิเตอร์
-
ใช้นิพจน์ทั่วไปและวิธีการ 'findall' ของแพ็คเกจ 're' เพื่อค้นหาตัวเลขที่มีอยู่ในคำ
-
มีการแมปกับองค์ประกอบทั้งหมดในรายการ
-
สิ่งนี้ถูกแปลงเป็นรายการและส่งคืนเป็นเอาต์พุต
-
นอกเมธอด รายการสตริงที่มีจำนวนเต็มถูกกำหนดและแสดงบนคอนโซล
-
รายการนี้จัดเรียงตามวิธีการที่กำหนดไว้ล่วงหน้า
-
เอาต์พุตนี้จะแสดงบนคอนโซล