给定元素列表, 请删除元素的交替连续重复项。
输入:test_list = [5、5、5、5、6、6]
输出:[5、5、6]
说明:备用occ。 5和6中的一个被删除。
输入:test_list = [5, 5, 5, 5]
输出:[5, 5]
说明:备用occ。 5个被删除。
方法:使用循环+ 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]
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。