Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm các phần tử bị thiếu trong List trong Python


Cho danh sách số, kiểm tra tính liên tục và tìm số bị thiếu trong khoảng từ 0 đến max.

Cách 1: range() và max()

Duyệt range(max(listA)+1), lọc các số not in listA.

listA = [1, 5, 6, 7, 11, 14]
res = [ele for ele in range(max(listA)+1) if ele not in listA]
print("Missing elements:", res)  # [0, 2, 3, 4, 8, 9, 10, 12, 13]

Cách 2: Sử dụng set()

Tạo set từ range(max+1) trừ set của list gốc.

listA = [1, 5, 6, 7, 11, 14]
res = list(set(range(max(listA)+1)) - set(listA))
print("Missing elements:", res)  # [0, 2, 3, 4, 8, 9, 10, 12, 13]