【发布时间】:2021-02-22 20:39:43
【问题描述】:
我有一个零和一的列表。 如果先前的值也是 1 以获得所需的输出,我正在尝试将 1 的值替换为 0,如下所示。
list = [1,1,1,0,0,0,1,0,1,1,0]
new_list = [1,0,0,0,0,0,1,0,1,0,0]
我尝试使用 for 循环无济于事。有什么建议吗?
【问题讨论】:
-
你能告诉我们你试过的代码吗?
-
y = np.copy(x); y[1:] = y[1:] & ~y[:-1] -
@WarrenWeckesser - 太棒了!我试图找出一种按位执行此操作的方法。这应该是公认的答案。感谢您的洞察力。
-
谢谢!这很好用,可能是最干净的方法。为了变得困难假设我们希望保留前两次出现的 1,因此新输出将是 new_list = [1,1,0,0,0,0,1,1,0]
标签: python list numpy enumerate