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

หาตัวเลขที่หายไปในลิสต์ (รวม 0) ใน Python

หาตัวเลขที่ขาดหายจาก 0 ถึงค่าสูงสุดของลิสต์

กำหนดลิสต์ตัวเลข หาตัวเลขที่ไม่ปรากฏในช่วง [0, max(list)]

วิธีที่ 1: ใช้ range และ max


lst = [1,5,6,7,11,14]
missing = [x for x in range(max(lst)+1) if x not in lst]
print(missing)  # [0,2,3,4,8,9,10,12,13]

วิธีที่ 2: ใช้ Set Difference


lst = [1,5,6,7,11,14]
missing = list(set(range(max(lst)+1)) - set(lst))
print(missing)  # [0,2,3,4,8,9,10,12,13] (ลำดับอาจสุ่ม)