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