确定唯一的数字,并可能随着时间的推移重复

时间:2019-02-02 04:20:05

标签: python unique

我想确定向量中的连续数字序列,给定:

x = [1,1,1,1,2,2,2,2,3,3,3,3,1,1,1,1,2,2,2,2,2,2]

numpy.unique返回-> [1,2,3],但不包括序列x末尾的重复的[1,2]。

这是我到目前为止尝试过的:

import numpy as np

y = np.unique(x)

预期收益为:

[1,2,3,1,2]

与聚类一样,重复的[1,2]应该保留在返回的末尾。

2 个答案:

答案 0 :(得分:0)

这是解决此问题的简单方法:

seen = None
y = []

for i in x:
    if i != seen:
        y.append(i)
        seen = i

print(y)

[1, 2, 3, 1, 2]

答案 1 :(得分:0)

您可以执行以下操作

y = [x[0]] + [y for (x, y) in zip(x, x[1:]) if x != y]