我正在编写代码片段,以便从列表中提取重复项。我在这个网站上看到了几个实现/解决方案。然而,我并没有正确地理解这句话——我认为是语法方面的。排序后,比较索引(x)和索引(x+1)。如果是,则添加到集合中。你知道吗
print(set([i for i in a if (a[i] == a[i+1]))
a = [1,2,3,2,1,5,6,5,5,5]
print(a)
print(set(sorted(a)))
# l1[i] == l1[i+1]
print(set([i for i in a if (a[i] == a[i+1]))
print(set([i for i in a if sum([1 for item in a if item == i]) > 1]))
预期结果:{1,2,5}
这个怎么样?你知道吗
输出:
据我所知,您正在尝试实现此逻辑,此代码以
O(nlogn)
时间复杂度运行,而与计数器一起运行的代码以O(n)
时间复杂度运行意味着它更快、更干净。你知道吗输出
您可以使用^{} :
这样,您可以在列表上迭代一次,只在计数器上迭代一次。你知道吗
相关问题 更多 >
编程相关推荐