设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 19193|回复: 5
打印 上一主题 下一主题

怎么从一些数据里去重呢

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2018-4-8 23:01:45 |显示全部楼层
不是完全相同的不太方便,除非你每个歌名都去匹配一下后面所有的歌,做个对比
如果完全相同的去重,直接用 set 就可以实现
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-4-9 14:50:22 |显示全部楼层
人工智能 发表于 2018-4-9 10:35
我需要的是不完全相同的匹配,程序是这个样子  这些歌名是我爬下来的列表 然后我想每往txt存入一个歌名都 ...

你可正反两个方向都用 in 判断一下啊
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2018-4-9 23:19:54 |显示全部楼层
人工智能 发表于 2018-4-9 19:02
什么意思啊 没明白

前面的 in 后面的 and 后面的 in 前面的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2018-4-11 12:02:41 |显示全部楼层
把已有数据放in前面判断一次,再把已有数据放in后面判断一次

a = "告白气球"
b = "告白气球(魔术与歌曲)"
if (a in b) or (b in a):
    略过

不符合你的要求?

首先你规则想清楚了没有。不然我们讨论了半天,你说这不是你要的效果

再复杂的情况你也没法用简单的字符串方法。去搜索下“文本相似度匹配”来实现吧
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2018-4-11 21:46:54 |显示全部楼层
人工智能 发表于 2018-4-11 14:54
这个方法适用于列表吗 比如 list[---]  然后 for (a in list)or (list in a):  这样不能用吧 ...

for i in list_name:
   if a in i or i in a:
      xxx

如果你连 if 和 for 循环还没搞清楚,那应该先补一补前面基础的课程,而不是急于实现过于复杂的功能
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2018-4-12 11:37:06 |显示全部楼层
人工智能 发表于 2018-4-11 23:08
打错了。。。    if (a in list)or (list in a):

我的意思是 list是个列表类型 然后 上面的语句能 ...

我已经写出来给你了

你还是对字符串、list之类的基本操作不熟悉啊。请去看看之前的基础课程
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-9 03:56 , Processed in 0.024638 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部