在 Python 中消除连续重复元素
在 Python 中,可以通过多种方式完成从列表中消除连续重复元素的任务。一种方法涉及迭代列表并删除具有相同值的相邻元素。然而,这种方法在处理长列表时会变得很麻烦。
为了更高效、更优雅的解决方案,我们可以利用 Python 的内置函数和库。使用 itertools.groupby,我们可以对连续的重复元素进行分组,并相应地操作生成的生成器。
要消除所有连续的重复元素,我们只需从分组的迭代器中提取键即可。
L = [1,1,1,1,1,1,2,3,4,4,5,1,2] from itertools import groupby [key for key, _group in groupby(L)]
输出:
[1, 2, 3, 4, 5, 1, 2]
对于问题的第二部分,只需要消除具有连续重复项的元素,我们可以进一步根据每组中的元素数量过滤分组迭代器。使用生成器表达式,我们可以对元素求和来确定组中是否有多个元素。
[k for k, g in groupby(L) if sum(1 for i in g) < 2]
输出:
[2, 3, 5, 1, 2]
与到最初的尝试。它利用 Python 的内置函数对列表进行分组和过滤,从而产生简洁且可读的解决方案。
以上是Python中如何高效去除连续的重复元素?的详细内容。更多信息请关注PHP中文网其他相关文章!