Python – Remove alternate consecutive duplicates
Given list of elements, remove alternate consecutive duplicates of elements.
Input : test_list = [5, 5, 5, 5, 6, 6] Output : [5, 5, 6] Explanation : Alternate occ. of 5 and 6 are removed. Input : test_list = [5, 5, 5, 5] Output : [5, 5] Explanation : Alternate occ. of 5 are removed.
Method : Using loop + remove()
The combination of above functions can be used to solve this problem. In this, we iterate each element and use additional previous element variable to keep track of alternate criteria. The removal is performed using remove().
Python3
test_list = [ 5 , 5 , 5 , 5 , 6 , 6 , 8 , 3 , 3 , 8 ]
print ( "The original list : " + str (test_list))
temp = test_list[ 0 ]
count = 0
org_list = test_list
idx = 0
while ( 1 ):
if idx > = len (org_list):
break
if count % 2 and temp = = test_list[idx]:
test_list.remove(test_list[idx])
idx = idx - 1
count + = 1
temp = test_list[idx]
else :
if temp ! = test_list[idx]:
count = 1
temp = test_list[idx]
else :
count + = 1
idx = idx + 1
print ( "List after alternate duplicates removal : " + str (test_list))
|
Output
The original list : [5, 5, 5, 5, 6, 6, 8, 3, 3, 8]
List after alternate duplicates removal : [5, 5, 6, 8, 3, 8]
Time Complexity: O(n), where n is the size of list
Auxiliary Space: O(n), where n is the size of list
Last Updated :
02 Mar, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...