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

Python – เรียงลำดับตามจำนวนหลักตัวเลขเฉพาะในสมาชิก

เมื่อต้องการเรียงลำดับลิสต์ตัวเลขตามจำนวนครั้งที่หลักตัวเลขเฉพาะ (digit) ปรากฏในแต่ละตัวเลข สามารถใช้ฟังก์ชันช่วยที่มี count() และ str() ได้

ตัวอย่าง

def sort_count_digits(elements):
    return str(elements).count(str(my_key))

my_list = [4522, 2452, 1233, 2465]
print("The list is :")
print(my_list)
my_key = 2
print("The value of key is ")
print(my_key)
my_list.sort(key=sort_count_digits)
print("The result is :")
print(my_list)

ผลลัพธ์

The list is : [4522, 2452, 1233, 2465]
The value of key is 2
The result is : [1233, 2465, 4522, 2452]

คำอธิบาย

  • กำหนดฟังก์ชัน sort_count_digits แปลงตัวเลขเป็นสตริง นับจำนวนครั้งของ my_key (แปลงเป็นสตริง) ด้วย count()

  • กำหนดลิสต์ตัวเลขและค่า key (หลักตัวเลขที่ต้องการนับ)

  • ใช้ sort(key=sort_count_digits) เรียงจากน้อยไปมากตามจำนวนครั้งที่ key ปรากฏ

  • จำนวน '2': 1233=0, 2465=1, 4522=2, 2452=2 (คงลำดับเดิมสำหรับค่าเท่ากัน)