gpt4 book ai didi

python - 从列表中删除相邻的重复元素

转载 作者:太空狗 更新时间:2023-10-29 17:00:01 26 4
gpt4 key购买 nike

<分区>

谷歌 Python 类 |列表练习 -

Given a list of numbers, return a list where all adjacent == elements have been reduced to a single element, so [1, 2, 2, 3] returns [1, 2, 3]. You may create a new list or modify the passed in list.

我使用新列表的解决方案是 -

def remove_adjacent(nums):
a = []
for item in nums:
if len(a):
if a[-1] != item:
a.append(item)
else: a.append(item)
return a

这个问题甚至暗示可以通过修改传入的列表来完成。但是,python 文档警告不要在使用 for 循环迭代列表时修改元素。

我想知道除了遍历列表之外我还能尝试什么来完成这项工作。我不是在寻找解决方案,而是在寻找可以引导我走向正确方向的提示。

更新

-用建议的改进更新了上面的代码。

-使用建议的提示在 while 循环中尝试以下操作-

def remove_adjacent(nums):
i = 1
while i < len(nums):
if nums[i] == nums[i-1]:
nums.pop(i)
i -= 1
i += 1
return nums

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com