|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
定义remove_triplets()函数,该函数传递一个整数列表作为参数。该函数从列表中删除所有三元组(即,删除列表中完全相同的三个连续元素)。
Test 1:a_list = [6, 6, 6, 7, 6, 6, 6, 3, 3, 3, 8, 8, 8, 3]
remove_triplets(a_list)
print(a_list)
result 1:[7, 3]
Test 2:a_list = [6, 6, 6, 7, 6, 6, 6, 6, 6]
remove_triplets(a_list)
print(a_list)
result2:[7, 6, 6]
Test 3:a_list = [1, 1, 1, 1]
remove_triplets(a_list)
print(a_list)
result 3:[1]
题目要求是在原列表的基础上进行删除元素,而非创建新列表 def remove_triplets(a_list):
i=len(a_list)-1
while i>=2:
if a_list[i]==a_list[i-1]==a_list[i-2]:
a_list.pop(i-2)#连续删除三个相同的元素
a_list.pop(i-2)
a_list.pop(i-2)
i-=3
continue
i-=1
a_list = [6, 6, 6, 7, 6, 6, 6, 3, 3, 3, 8, 8, 8, 3]
remove_triplets(a_list)
print(a_list)
a_list1 = [6, 6, 6, 7, 6, 6, 6, 6, 6]
remove_triplets(a_list1)
print(a_list1)
a_list2 = [1, 1, 1, 1]
remove_triplets(a_list2)
print(a_list2)
|
|