เมื่อจำเป็นต้องจัดเรียงทูเพิลตามความถี่ของผลต่างสัมบูรณ์ ฟังก์ชันแลมบ์ดา วิธี 'abs' และวิธีการ 'จัดเรียง' จะถูกใช้
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
my_list = [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)] print("The list is :") print(my_list) my_diff_list = [abs(x - y) for x, y in my_list] my_result = sorted(my_list, key = lambda sub: my_diff_list.count(abs(sub[0] - sub[1]))) print("The resultant list is :") print(my_result)
ผลลัพธ์
The list is : [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)] The resultant list is : [(11, 26), (90, 11), (26, 21), (32, 18), (21, 33), (25, 37)]
คำอธิบาย
-
รายการของทูเพิลถูกกำหนดและแสดงบนคอนโซล
-
ความเข้าใจรายการใช้เพื่อวนซ้ำรายการและรับความแตกต่างที่แน่นอนระหว่างองค์ประกอบที่ต่อเนื่องกัน
-
ซึ่งจะถูกแปลงเป็นรายการและเก็บไว้ในตัวแปร
-
วิธีการ 'จัดเรียง' ถูกนำมาใช้อีกครั้งในองค์ประกอบของรายการ และคีย์ถูกระบุเป็น 'แลมบ์ดา' และกำหนดจำนวนความแตกต่างที่แน่นอนระหว่างองค์ประกอบที่ต่อเนื่องกัน
-
สิ่งนี้ถูกกำหนดให้กับตัวแปรและแสดงบนคอนโซล