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

Python – จัดเรียงเมทริกซ์ตาม Palindrome count


เมื่อจำเป็นต้องจัดเรียงเมทริกซ์ตามจำนวนพาลินโดรม จะมีการกำหนดเมธอดที่รับรายการเป็นพารามิเตอร์ ใช้ list comprehension และ 'join' method เพื่อทำซ้ำและดูว่าองค์ประกอบนั้นเป็น palindrome หรือไม่ ตามนี้ ผลลัพธ์จะถูกกำหนดและแสดงผล

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

def get_palindrome_count(row):
   return len([element for element in row if''.join(list(reversed(element))) == element])
my_list = [["abcba", "hdgfue", "abc"], ["peep"],["py", "is", "best"],["sees", "level", "non", "noon"]]

print("The list is :")
print(my_list)

my_list.sort(key=get_palindrome_count)

print("The resultant list is :")
print(my_list)

ผลลัพธ์

The list is :
[['abcba', 'hdgfue', 'abc'], ['peep'], ['py', 'is', 'best'], ['sees', 'level', 'non', 'noon']]
The resultant list is :
[['py', 'is', 'best'], ['abcba', 'hdgfue', 'abc'], ['peep'], ['sees', 'level', 'non', 'noon']]

คำอธิบาย

  • มีการกำหนดเมธอดชื่อ 'get_palindrome_count' ซึ่งรับรายการเป็นพารามิเตอร์

  • ความเข้าใจรายการใช้เพื่อวนซ้ำรายการและดูว่าองค์ประกอบนั้นเป็นพาลินโดรมหรือไม่

  • ถ้าใช่ จะส่งคืน

  • นอกเมธอด รายการของรายการที่มีค่าสตริงถูกกำหนดและแสดงบนคอนโซล

  • วิธี 'sort' ใช้เพื่อจัดเรียงรายการตามคีย์ซึ่งเป็นวิธีการที่กำหนดไว้ก่อนหน้านี้

  • สิ่งนี้จะแสดงเป็นเอาต์พุตบนคอนโซล te