เมื่อจำเป็นต้องจัดเรียงสตริงตามเครื่องหมายวรรคตอน จะมีการกำหนดเมธอดที่ใช้สตริงเป็นพารามิเตอร์ และใช้รายการความเข้าใจและตัวดำเนินการ 'ใน' เพื่อกำหนดผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
from string import punctuation def get_punctuation_count(my_str): return len([element for element in my_str if element in punctuation]) my_list = ["python@%^", "is", "fun!", "to@#r", "@#$learn!"] print("The list is :") print(my_list) my_list.sort(key = get_punctuation_count) print("The result is :") print(my_list)
ผลลัพธ์
The list is : ['python@%^', 'is', 'fun!', 'to@#r', '@#$learn!'] The result is : ['is', 'fun!', 'to@#r', 'python@%^', '@#$learn!']
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม
-
มีการกำหนดเมธอดชื่อ 'get_punctuation_count' ที่รับสตริงเป็นพารามิเตอร์ และวนซ้ำองค์ประกอบโดยใช้การทำความเข้าใจรายการ
-
ตรวจสอบเพื่อดูว่าสตริงมีเครื่องหมายวรรคตอนหรือไม่
-
ส่งคืนความยาวของสตริงที่มีเครื่องหมายวรรคตอนเป็นเอาต์พุต
-
นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล
-
รายการถูกจัดเรียงโดยใช้วิธีการ 'sort' และคีย์ถูกระบุเป็นวิธีการที่กำหนดไว้ก่อนหน้านี้
-
นี่คือเอาต์พุตที่แสดงบนคอนโซล