เมื่อจำเป็นต้องจัดเรียงสตริงตามเครื่องหมายวรรคตอน จะมีการกำหนดเมธอดที่ใช้สตริงเป็นพารามิเตอร์ และใช้รายการความเข้าใจและตัวดำเนินการ 'ใน' เพื่อกำหนดผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
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' และคีย์ถูกระบุเป็นวิธีการที่กำหนดไว้ก่อนหน้านี้
-
นี่คือเอาต์พุตที่แสดงบนคอนโซล