gpt4 book ai didi

python - For 循环意外结果

转载 作者:行者123 更新时间:2023-12-01 21:26:40 25 4
gpt4 key购买 nike

我试图创建一个函数,它接受一个可迭代对象作为参数,并返回给定的可迭代对象的列表,但没有彼此相邻的相同值。

例如 my_function("1112334512") 将返回 ["1", "2", "3", "4", "5", "1", "2"]

我不希望它删除可迭代中的重复值,我希望它删除与其旁边具有相同值的值。 (例如“AAABA”最终结果将是“ABA”)

def my_function(iterable):
iterable_1 = []
for item in iterable:
iterable_1.append(item)

count = 0
for item in iterable_1:
# Tempoary count = count + 1
if iterable_1[count] == iterable_1[count + 1]:
iterable_1.pop(count)
else:
count += 1

return iterable_1

我的问题是,当我认为这最终做到了时,运行 my_function("AAAABBBCCDAABBB") 返回的结果:['A', 'B', 'C' , 'D', 'A', 'A', 'B', 'B', 'B'],理论上它在 D 之前做了正确的事情,我认为 for 循环结束了。

我的问题是为什么?如果这不是循环那又是什么?

最佳答案

对我来说,你的方法对于这项任务来说似乎过于复杂。怎么样

def my_function(iterable):
result = []
for e in iterable:
if not result or result[-1] != e:
result.append(e)
return result

关于python - For 循环意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61042340/

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