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

โปรแกรม Python เพื่อจัดเรียง tuples ตามความถี่ของความแตกต่างแน่นอน


เมื่อจำเป็นต้องจัดเรียงทูเพิลตามความถี่ของผลต่างสัมบูรณ์ ฟังก์ชันแลมบ์ดา วิธี '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)]

คำอธิบาย

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

  • ความเข้าใจรายการใช้เพื่อวนซ้ำรายการและรับความแตกต่างที่แน่นอนระหว่างองค์ประกอบที่ต่อเนื่องกัน

  • ซึ่งจะถูกแปลงเป็นรายการและเก็บไว้ในตัวแปร

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

  • สิ่งนี้ถูกกำหนดให้กับตัวแปรและแสดงบนคอนโซล