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

Python – จัดเรียงเมทริกซ์โดยไม่มีความถี่


เมื่อจำเป็นต้องจัดเรียงเมทริกซ์ตามความถี่ "ไม่มี" จะมีการกำหนดวิธีการที่ใช้พารามิเตอร์และใช้ความเข้าใจรายการ ตัวดำเนินการ "ไม่" และวิธีการ "เลน" เพื่อกำหนดผลลัพธ์

ตัวอย่าง

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

def get_None_freq(row):
   return len([element for element in row if not element])

my_list = [[None, 24], [None, 33, 3, None],[42, 24, 55], [13, None, 24]]

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

my_list.sort(key = get_None_freq)

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

ผลลัพธ์

The list is :
[[None, 24], [None, 33, 3, None], [42, 24, 55], [13, None, 24]]
The result is :
[[42, 24, 55], [None, 24], [13, None, 24], [None, 33, 3, None]]

คำอธิบาย

  • มีการกำหนดเมธอดที่ชื่อ 'get_None_freq' ซึ่งรับรายการเป็นพารามิเตอร์ และใช้ความเข้าใจรายการเพื่อวนซ้ำองค์ประกอบ และใช้ตัวดำเนินการ 'ไม่' เพื่อตรวจสอบว่าองค์ประกอบไม่มีอยู่ในรายการหรือไม่ และกำหนดความยาวขององค์ประกอบ

  • ความยาวนี้จะถูกส่งคืนเป็นเอาต์พุต

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

  • รายการถูกจัดเรียงโดยใช้วิธีการ 'sort' และคีย์ถูกระบุเป็นวิธีการที่กำหนดไว้ก่อนหน้านี้

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล