python列表重复项筛选分组
有类似列表如下:
list = ['aaa',
'aaa',
'aaa',
'aaa',
'ccc',
'ccc',
'aaa',
'aaa',
'aaa',
'aaa',
'ccc',
'ccc',
'ccc',
'aaa',
'aaa',
'ccc',
'ccc',
'ccc',
'ccc',
'ccc']
希望能得到如下列表
[
[aaa,aaa,aaa],
[aaa,aaa,aaa,aaa],
[aaa,aaa],
[...],
...
]
试了好久总是不行,太笨吧,求解答。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
前几位答主的思路让偶现在提炼出了问题正确的关键词(filter group),也意识到两个库有助于解决这类问题(itertools pandas)
放狗搜,找到的比较不错的答案特地贴在这里,供大家参考。
https://pythonpeixun.github.i...
知乎上有人问,Python中的列表按相同元素分割?
比如列表[0,0,0,1,1,2,3,3,3,2,3,3,0,0]分割成[0,0,0],[1,1],[2],[3,3,3],[2],[3,3],[0,0]
如何解决这样的问题呢?
首先说明,如果这样的题目都不能写出代码,原因在基本的循环判断没有搞清楚。
如果做这个习题,看黄哥的讲解,先要分析,分析看出是按照相邻元素是不是相同来分组。
设计解决方法,大问题化解为小问题,先化解为找出元素不相同的那个元素的索引,有这个索引后,再进行分组。
代码一:
代码二:
代码三:
放码:
结果:
不造轮子了:
输出: