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

Python – เรียงลำดับตามความถี่ตัวอักษรพิมพ์ใหญ่

เมื่อต้องการเรียงลำดับลิสต์สตริงตามความถี่ของตัวอักษรพิมพ์ใหญ่ (uppercase) สามารถใช้ฟังก์ชันช่วยที่มี list comprehension และ isupper() ได้

ตัวอย่าง

def higher_character_sort(sub):
    return len([ele for ele in sub if ele.isupper()])

my_list = ["pyt", "is", "FUN", "to", "Learn"]
print("The list is:")
print(my_list)
my_list.sort(key=higher_character_sort)
print("The result is:")
print(my_list)

ผลลัพธ์

The list is: ['pyt', 'is', 'FUN', 'to', 'Learn']
The result is: ['pyt', 'is', 'to', 'Learn', 'FUN']

คำอธิบาย

  • กำหนดฟังก์ชัน higher_character_sort นับจำนวนตัวอักษรพิมพ์ใหญ่ด้วย ele.isupper() ใน list comprehension แล้วคืนค่าความยาว

  • กำหนดลิสต์สตริงที่มีตัวพิมพ์ใหญ่ต่างกัน แสดงผล

  • ใช้ sort(key=higher_character_sort) เรียงจากน้อยไปมากตามจำนวนตัวพิมพ์ใหญ่

  • จำนวนตัวพิมพ์ใหญ่: pyt=0, is=0, to=0, Learn=1 (L), FUN=3 -> เรียงได้ผลลัพธ์