Đưa ra một danh sách với các số đã được sắp xếp, chúng tôi muốn tìm ra những số nào còn thiếu trong dãy số đã cho.
Với phạm vi
chúng ta có thể thiết kế một vòng lặp for để kiểm tra dải số và sử dụng điều kiện if với toán tử not in để kiểm tra các phần tử bị thiếu.
Ví dụ
listA = [1,5,6, 7,11,14]
# Original list
print("Given list : ",listA)
# using range
res = [x for x in range(listA[0], listA[-1]+1)
if x 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 : [2, 3, 4, 8, 9, 10, 12, 13]
với ZIP
Hàm ZIP
Ví dụ
listA = [1,5,6, 7,11,14]
# printing original list
print("Given list : ",listA)
# using zip
res = []
for m,n in zip(listA,listA[1:]):
if n - m > 1:
for i in range(m+1,n):
res.append(i)
# 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 : [2, 3, 4, 8, 9, 10, 12, 13]