Get Minimum Difference in Tuple Pair
เมื่อต้องการหาความต่างน้อยที่สุด (Minimum Difference) ระหว่างคู่ Element ใน List of Tuples สามารถใช้ min() และ List Comprehension ได้
ตัวอย่างโค้ด
my_list = [(67, 78), (39, 34), (23, 52), (99, 69), (78, 2), (11, 0)]
print("The list is : ")
print(my_list)
# คำนวณ Absolute Difference ของแต่ละ Pair
temp_val = [abs(b - a) for a, b in my_list]
# หาค่าน้อยที่สุด
my_result = min(temp_val)
print("The minimum difference among the pairs of list of tuples is: ")
print(my_result)
ผลลัพธ์
The list is : [(67, 78), (39, 34), (23, 52), (99, 69), (78, 2), (11, 0)] The minimum difference among the pairs of list of tuples is: 5
คำอธิบาย
- กำหนด List of Tuples (แต่ละ Tuple มี 2 Element) และแสดงผล
- List Comprehension:
[abs(b - a) for a, b in my_list]คำนวณ |b-a| ทุกคู่ - ได้ List ของความต่าง:
[11, 5, 29, 30, 76, 11] - ใช้
min()หาค่าน้อยที่สุด = 5 - แสดงผล
การคำนวณแบบละเอียด
| Pair | a | b | \|b - a\| |
|---|---|---|---|
| (67, 78) | 67 | 78 | 11 |
| (39, 34) | 39 | 34 | 5 ← Min |
| (23, 52) | 23 | 52 | 29 |
| (99, 69) | 99 | 69 | 30 |
| (78, 2) | 78 | 2 | 76 |
| (11, 0) | 11 | 0 | 11 |
ขยาย: หา Pair ที่มีความต่างน้อยที่สุด
# หาทั้งค่าและ Pair
min_pair = min(my_list, key=lambda p: abs(p[1] - p[0]))
min_diff = abs(min_pair[1] - min_pair[0])
print(f"Pair: {min_pair}, Diff: {min_diff}")
# Pair: (39, 34), Diff: 5
ใช้ NumPy
import numpy as np
arr = np.array(my_list)
diffs = np.abs(arr[:, 1] - arr[:, 0])
print(np.min(diffs)) # 5
print(arr[np.argmin(diffs)]) # [39 34]