Python一次删除3个重复项

时间:2016-10-31 13:36:03

标签: python list sorting duplicates

我在这里寻求帮助,我有一个正是这个列表

列表如下:[1,1,1,5,5,10,10,10,10,10,10,8,8,8,8,8,8]

想要的结果:[1,5,10,10,8,8]

我已经尝试了一切可能的方法,一次遍历列表3并且只替换每三分之一。

''.join([List[i] for i in range(len(List) - 1) if List[i + 1] != XX[i]] + [List[-1]])

我只是无法理解它是否有一些python向导可以做到这一点?

由于

2 个答案:

答案 0 :(得分:7)

android:elevation="0dp"
android:translationZ="0dp"

这称为" list slicing"。这实际上是从第一个开始打印出列表的每三个参数。本文Explain Python's slice notation更彻底地解释了这一概念。

答案 1 :(得分:1)

代码:

lst    = [1, 1, 1, 5, 5, 5, 10, 10, 10, 10, 10, 10, 8, 8, 8, 8, 8, 8]
output = []

skip = 0
for idx, x in enumerate(lst):
    if skip:
        skip = skip - 1
        continue

    if (idx + 2) <= len(lst):
        if lst[idx] == lst[idx+1] and lst[idx] == lst[idx+2]:
            output.append(lst[idx])
            skip = skip + 2
    else:
        output.append(lst[idx])

print output