免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2929 | 回复: 2
打印 上一主题 下一主题

【文本乱序去重的问题】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-29 18:00 |只看该作者 |倒序浏览
本帖最后由 GoGo闯 于 2014-03-29 18:03 编辑

现在有一段文本,如下:

空调 牌子 哪个 好
空调 牌子
牌子 空调
海尔 压缩空调 维修
海尔 空调 多少钱
多少钱 海尔 空调


其中2、3行和5、6行除了关键词顺序不一样剩下都一样,咋实现将这两个重复的删掉,随便留其中一个,如下:


空调 牌子 哪个 好
牌子 空调
海尔 压缩空调 维修
海尔 空调 多少钱


之前用过sort排序去重,但顺序就变了。。

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
2 [报告]
发表于 2014-03-29 18:31 |只看该作者
  1. In [1]: s = '''
  2.    ...: 空调 牌子 哪个 好
  3.    ...: 空调 牌子
  4.    ...: 牌子 空调
  5.    ...: 海尔 压缩空调 维修
  6.    ...: 海尔 空调 多少钱
  7.    ...: 多少钱 海尔 空调
  8.    ...: '''

  9. In [2]: ss = [set(i.split()) for i in s.split('\n')]

  10. In [3]: sss = set(str(i) for i in ss)

  11. In [4]: ssss = [eval(i) for i in sss]

  12. In [5]: ssss
  13. Out[5]:
  14. [{'哪个', '好', '牌子', '空调'},
  15. {'压缩空调', '海尔', '维修'},
  16. {'牌子', '空调'},
  17. set(),
  18. {'多少钱', '海尔', '空调'}]

  19. In [6]:
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
3 [报告]
发表于 2014-03-29 18:36 |只看该作者
  1. In [1]: s = '''
  2.    ...: 空调 牌子 哪个 好
  3.    ...: 空调 牌子
  4.    ...: 牌子 空调
  5.    ...: 海尔 压缩空调 维修
  6.    ...: 海尔 空调 多少钱
  7.    ...: 多少钱 海尔 空调
  8.    ...: '''

  9. In [2]: ss = [set(i.split()) for i in s.split('\n')]

  10. In [3]: ss
  11. Out[3]:
  12. [set(),
  13. {'哪个', '好', '牌子', '空调'},
  14. {'牌子', '空调'},
  15. {'牌子', '空调'},
  16. {'压缩空调', '海尔', '维修'},
  17. {'多少钱', '海尔', '空调'},
  18. {'多少钱', '海尔', '空调'},
  19. set()]

  20. In [4]: ss.remove(set())

  21. In [5]: ss.remove(set())

  22. In [6]: ss
  23. Out[6]:
  24. [{'哪个', '好', '牌子', '空调'},
  25. {'牌子', '空调'},
  26. {'牌子', '空调'},
  27. {'压缩空调', '海尔', '维修'},
  28. {'多少钱', '海尔', '空调'},
  29. {'多少钱', '海尔', '空调'}]

  30. In [7]: [ss[i] for i in range(len(ss)) if ss[i] not in ss[:i]]
  31. Out[7]:
  32. [{'哪个', '好', '牌子', '空调'},
  33. {'牌子', '空调'},
  34. {'压缩空调', '海尔', '维修'},
  35. {'多少钱', '海尔', '空调'}]

  36. In [8]:
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP