python 列表去除相邻重复相等数据(只保留一个)
In [1]: import itertools
In [2]: a=[0, 1, 3, 2, 4, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 16, 17, 18, 18, 19, 20, 20, 21, 22, 22, 22, 23, 23, 23, 26, 29, 29, 30, 32, 33, 34, 32, 32, 15, 24]
In [3]: b=[k for k, _ in itertools.groupby(a)]
In [4]: print(b)
[0, 1, 3, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26, 29, 30, 32, 33, 34, 32, 15, 24]
python 列表找到相邻元素相同的元素值
(理解了 m=a[1:] n=a[:-1] 得到的就是要比较的前后数据之后,你就可以轻松地做玩转相邻元素啦)
In [22]: import numpy as np
In [23]: a=[0, 1, 3, 2, 4, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 16, 17, 18, 18, 19, 20, 20, 21, 22, 22, 22, 23, 23, 23, 26, 29, 29, 30, 32, 33, 34, 32, 32, 15, 24]
In [24]: m=a[1:]
In [25]: n=a[:-1]
In [26]: len(a)
Out[26]: 41
In [27]: len(m)
Out[27]: 40
In [28]: len(n)
Out[28]: 40
In [29]: c=[i[0]==i[1] for i in zip(m, n)]
In [30]: print(c)
[False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, True, True, False, True, True, False, False, True, False, False, False, False, False, True, False, False]
In [31]: d=np.array(a[:-1])[c]
In [32]: print(d)
[ 4 16 18 20 22 22 23 23 29 32]
In [33]: result = list(set(d))
In [34]: result
Out[34]: [32, 4, 16, 18, 20, 22, 23, 29]
也可以用以下的方法比较出相邻元素是否相等,即求出上面的变量 c,然后再执行后面的步骤
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [35]: import operator
In [36]: import itertools
In [37]: c2=list(map(operator.eq, a, itertools.islice(a, 1, None)))
In [38]: print(c2)
[False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, True, True, False, True, True, False, False, True, False, False, False, False, False, True, False, False]
In [39]: c==c2
Out[39]: True
结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!
Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web
Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web