Python - 删除交替的连续重复
给定元素列表,删除交替的连续重复元素。
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.
方法:使用循环+remove()
上述功能的组合可以用来解决这个问题。在此,我们迭代每个元素并使用附加的先前元素变量来跟踪替代标准。使用 remove() 执行删除。
Python3
# Python3 code to demonstrate working of
# Remove alternate consecutive duplicates
# Using loop + remove()
# initializing lists
test_list = [5, 5, 5, 5, 6, 6, 8, 3, 3, 8]
# printing original list
print("The original list : " + str(test_list))
# Using loop to iterate through elements
# element to keep track
temp = test_list[0]
count = 0
org_list = test_list
idx = 0
while(1):
# break when idx greater than size
if idx >= len(org_list):
break
# check for alternates
if count % 2 and temp == test_list[idx]:
test_list.remove(test_list[idx])
idx = idx - 1
count += 1
temp = test_list[idx]
else:
# keeping track of alternate index increment
# and assignment
if temp != test_list[idx]:
count = 1
temp = test_list[idx]
else :
count += 1
idx = idx + 1
# printing result
print("List after alternate duplicates removal : " + str(test_list))
输出
The original list : [5, 5, 5, 5, 6, 6, 8, 3, 3, 8]
List after alternate duplicates removal : [5, 5, 6, 8, 3, 8]