我正在尝试解决这个问题“好的数组是不包含任何相等相邻元素的数组。 给定一个长度为 N 的整数数组 A,要求你做一些操作(可能为零)来使 阵好。一种操作是删除两个相等的相邻元素并连接数组的其余部分。 答:(1、2、2、3、4) 后一操作:(1, 3, 4) "使用 python 列表,如下所示:
L=[]
n=int(input("Enter a num"))
for _ in range(n):
x=int(input())
L.append(x)
print(L)
for z in range(L):
if L[z]==L[z+1]:
L.remove(z)
L.remove(z+1)
print(L)
我不断收到此错误:输入 [37] 如果 L[z]==L[z+1] ^ 语法错误:语法无效 任何解决方案!`
最佳答案
最简单的解决方案是groupby
数组,并且只保留只有一项的组:
>>> A = [1, 2, 2, 3, 4]
>>> import itertools
>>> A = [i for i, g in itertools.groupby(A) if len(list(g)) == 1]
>>> A
[1, 3, 4]
关于python - 需要删除列表中的所有重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73261167/