我想在python中创建一个函数,该函数接受一个列表,该列表包含1个以上按数字顺序排列的整数元素,并返回一个与输出相同整数的列表,但所有重复项在它们自己的列表中分组在一起,此列表是该函数返回的列表中的元素。例如:
[3,3,4,5,6,6]
将返回为[[3,3],[4,4],[6,6]]
我试图为每个条件嵌入多个if语句,但这太混乱了,太快了。
def simplify(mylist):
if len(mylist) > 1:
newlist = []
for i in range(0,len(mylist) - 1):
if (mylist[i] == mylist[i + 1]):
count = 2
group = [mylist[i],mylist[i]]
while (i + count) <= (len(mylist) - 1):
if mylist[i] == mylist[i + count]:
group.append(mylist[i])
count += 1
else:
newlist.append(group)
break
else:
newlist.append(mylist[i])
print(newlist)
return (newlist)
因此,我希望它能够执行我所描述的函数应做的事情,但是随后导致一个包含元素的列表,这些元素在列表中重复出现,并减少一个元素,直到它完成迭代并且没有附加最后一个值。示例:
输入[3,5]
返回了[3,4]