既定的输出:
X = [1, 3, 3, 5, 4, 8, 6]
本代码将自动替换所有重复的项目3
最快
xi = {x:i for i, x in enumerate(X)}
dp = {x: xi[x]>i for i, x in reversed(list(enumerate(X)))}
Y = [3 if dp[x] else x for x in X]
这是一个非常简单的,并使用基本列表理解。请参考下面的代码相同:
X = [1, 2, 2, 5, 4, 8, 6]
print([3 if e==2 else e for e in X])
您应该能够将循环用于此
my_list = [1, 2, 2, 5, 4, 8, 6]
new_list = []
for i in range(len(my_list)):
if my_list[i] in new_list:
new_list.append(3)
else:
new_list.append(my_list[i])
print(new_list)
[1, 3, 3, 5, 4, 8, 6]
X = [t if t not in X[:i] + X[i+1:] else 3 for i, t in enumerate(X)]