求助!如何删除list中重复的连续三次的元素!感谢
定义remove_triplets()函数,该函数传递一个整数列表作为参数。该函数从列表中删除所有三元组(即,删除列表中完全相同的三个连续元素)。Test 1:a_list =
remove_triplets(a_list)
print(a_list)
result 1:
Test 2:a_list =
remove_triplets(a_list)
print(a_list)
result2:
Test 3:a_list =
remove_triplets(a_list)
print(a_list)
result 3:
骚等~~ 变成集合不就行了? 老八秘制 发表于 2020-5-19 22:38
变成集合不就行了?
那怎么写呢
Twilight6 发表于 2020-5-19 22:35
骚等~~
好滴!先谢谢大佬! MIQIWEI 发表于 2020-5-19 22:46
那怎么写呢
set()一下,甲鱼视频应该讲了 MIQIWEI 发表于 2020-5-19 22:47
好滴!先谢谢大佬!
刚刚去解决tkinter的问题了 我回来啦哈哈
帮你写下骚等哈~ Twilight6 发表于 2020-5-19 22:53
刚刚去解决tkinter的问题了 我回来啦哈哈
帮你写下骚等哈~
好滴!每次都能看到你!真的是大佬! 本帖最后由 Twilight6 于 2020-5-19 23:57 编辑
MIQIWEI 发表于 2020-5-19 23:03
好滴!每次都能看到你!真的是大佬!
不,我不是大佬,我做这题都做了十几分钟....大佬几分钟就搞定了
之前代码错了,订正:
def remove_triplets(ls):
count = 0
while count < len(ls)-2:
if len(set(ls))==1 :
ls.remove(ls)
ls.remove(ls)
ls.remove(ls)
else:
count += 1
return ls
a_list =
print(remove_triplets(a_list))
a_list =
print(remove_triplets(a_list))
a_list =
print(remove_triplets(a_list))
a_list =
remove_triplets(a_list)
print(a_list) 题目要求是在原列表的基础上进行删除元素,而非创建新列表
defremove_triplets(a_list):
i=len(a_list)-1
while i>=2:
if a_list==a_list==a_list:
a_list.pop(i-2)#连续删除三个相同的元素
a_list.pop(i-2)
a_list.pop(i-2)
i-=3
continue
i-=1
a_list =
remove_triplets(a_list)
print(a_list)
a_list1 =
remove_triplets(a_list1)
print(a_list1)
a_list2 =
remove_triplets(a_list2)
print(a_list2)
Twilight6 发表于 2020-5-19 23:16
不,我不是大佬,我做这题都做了十几分钟....大佬几分钟就搞定了
题目要求是在原列表上修改,不是创建新列表哎~~
你的程序原列表没变,把新列表最为返回值返回了 老八秘制 发表于 2020-5-19 22:47
set()一下,甲鱼视频应该讲了
set是不行滴~~~
题目要求是删除连续三个相同的元素。相同但不连续的不删除,连续相同两个也不删除
请看给出的示例2 Twilight6 发表于 2020-5-19 23:16
不,我不是大佬,我做这题都做了十几分钟....大佬几分钟就搞定了
还有一个问题 就是它题目要求是这个样子测试
a_list =
remove_triplets(a_list)
print(a_list)
我在后面加了几行 但是好像不太对 我是用的索引 把这个原始列表更新成了新列表 可以再告诉我一下该怎么改吗?谢谢!
for index in range(len(new_ls)):
ls=new_ls
return ls
sunrise085 发表于 2020-5-19 23:32
题目要求是在原列表的基础上进行删除元素,而非创建新列表
好吧 那我在改改 MIQIWEI 发表于 2020-5-19 23:38
还有一个问题 就是它题目要求是这个样子测试
a_list =
re ...
{:10_266:}我感觉我不配答题了题目都没读好 Twilight6 发表于 2020-5-19 23:40
我感觉我不配答题了题目都没读好
哈哈哈哈哈不不不 你还是很厉害的!!! MIQIWEI 发表于 2020-5-19 23:41
哈哈哈哈哈不不不 你还是很厉害的!!!
能给我点时间在挽回一下下嘛{:10_266:} MIQIWEI 发表于 2020-5-19 23:38
还有一个问题 就是它题目要求是这个样子测试
a_list =
re ...
看10楼~~
对的话,给评个最佳~~ sunrise085 发表于 2020-5-19 23:44
看10楼~~
对的话,给评个最佳~~
哇!感谢!!! 我回来了QAQ
def remove_triplets(ls):
count = 0
while count < len(ls)-2:
if len(set(ls))==1 :
ls.remove(ls)
ls.remove(ls)
ls.remove(ls)
else:
count += 1
return ls
a_list =
print(remove_triplets(a_list))
a_list =
print(remove_triplets(a_list))
a_list =
print(remove_triplets(a_list))
a_list =
remove_triplets(a_list)
print(a_list)
页:
[1]
2