Nếu chúng ta có một danh sách chứa các số, chúng ta có thể kiểm tra xem các số có liền nhau hay không và cũng có thể tìm thấy những số nào bị thiếu trong một dãy số coi số cao nhất là giá trị cuối cùng.
Với phạm vi và tối đa
Chúng ta có thể thiết kế một vòng lặp for để kiểm tra sự vắng mặt của các giá trị trong một phạm vi bằng cách sử dụng toán tử not in. Sau đó, nắm bắt tất cả các giá trị này bằng cách thêm chúng vào danh sách mới trở thành tập kết quả.
Ví dụ
listA = [1,5,6, 7,11,14] # Original list print("Given list : ",listA) # using range and max res = [ele for ele in range(max(listA) + 1) if ele not in listA] # Result print("Missing elements from the list : \n" ,res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [1, 5, 6, 7, 11, 14] Missing elements from the list : [0, 2, 3, 4, 8, 9, 10, 12, 13]
với bộ
Chúng tôi áp dụng hàm set để giữ tất cả các giá trị duy nhất cho một phạm vi nhất định và sau đó lấy nó trừ danh sách đã cho. Vì vậy, điều này cung cấp cho tập kết quả chứa các giá trị bị thiếu từ các số liền kề.
Ví dụ
listA = [1,5,6, 7,11,14] # printing original list print("Given list : ",listA) # using set res = list(set(range(max(listA) + 1)) - set(listA)) # Result print("Missing elements from the list : \n" ,res)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given list : [1, 5, 6, 7, 11, 14] Missing elements from the list : [0, 2, 3, 4, 8, 9, 10, 12, 13]