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

หาค่า Min และ Max ใน Heterogeneous List (ผสม String/Number) ใน Python

หาค่าต่ำสุดและสูงสุดของตัวเลขในลิสต์ผสมชนิดข้อมูล

ลิสต์มีทั้ง String และ Number ต้องการหา Min/Max ของตัวเลขอย่างเดียว

หา Minimum: ใช้ isinstance กับ min()


lst = [12,'Sun',39,5,'Wed','Thus']
min_val = min(x for x in lst if isinstance(x, int))
print(min_val)  # 5

หา Maximum: ใช้ max() กับ key=lambda


max_val = max(lst, key=lambda x: (isinstance(x, int), x))
print(max_val)  # 39

key คืน Tuple (True, value) สำหรับ int, (False, value) สำหรับ str → int มากกว่า str เสมอ