Python从列表中删除类似的URL
因此,我对python相当陌生。但我希望你能帮助我解决这个小问题,我已经从列表中删除了类似的重复项 所以我有一个URL列表:Python从列表中删除类似的URL,python,list,Python,List,因此,我对python相当陌生。但我希望你能帮助我解决这个小问题,我已经从列表中删除了类似的重复项 所以我有一个URL列表:myList=['http://www.mywebsite.com/shoes', 'http://wwww.yourwebsite.com/', 'http://www.mywebsite.com/shoes/'] 我想删除类似的url的,因为你可以看到,是几乎相同的。我想移除其中一个(我不在乎是哪一个),但保留另一个。本质上是从列表中删除副本。我想举个例子。但我甚至不知
myList=['http://www.mywebsite.com/shoes', 'http://wwww.yourwebsite.com/', 'http://www.mywebsite.com/shoes/']
我想删除类似的url的,因为你可以看到,是几乎相同的。我想移除其中一个(我不在乎是哪一个),但保留另一个。本质上是从列表中删除副本。我想举个例子。但我甚至不知道从哪里开始
任何洞察都会很有帮助。如果相似性在“\”中是不同的,那么您可以使用集合从列表中删除重复项,因为: 集合对象是不同的散列对象的无序集合。 常见的用途包括成员资格测试、从数据库中删除重复项 序列,并计算数学运算,如交集, 并、差和对称差
如果您的相似性在“\”中不同,您可以使用集合从列表中删除重复项,因为: 集合对象是不同的散列对象的无序集合。 常见的用途包括成员资格测试、从数据库中删除重复项 序列,并计算数学运算,如交集, 并、差和对称差 你可以做:
set(map(lambda url: url.rstrip('/'), myList))
你可以做:
set(map(lambda url: url.rstrip('/'), myList))
问题可能是你还没有弄清楚两个URL相似到底意味着什么。我们不能帮你,因为只有你知道你的要求是什么。不过,一旦你弄明白了这一点,剩下的就足够简单了。有两种方法可以做到这一点:
- 如果您的相似关系是可传递的-即,如果
意味着相似(a,b)和相似(b,c)
适用于所有URL相似(a,c)
,a
,b
,则可以将每个URL转换为规范形式。当且仅当两个URL的规范形式相等时,它们才会相似。因此,在这种情况下,最简单的方法是将每个URL转换为规范形式,然后创建一组通过以下方式获得的规范URL:c
set(canonical(u) for u in myList)
- 如果你的相似关系是不可传递的,那么事情就会变得非常棘手,因为你可能会遇到类似A和B的情况,比如A和B和C相似,但A和C不相似。因此,在这个例子中,问题变成了,你希望在列表中去掉重复项的情况下包括什么?包括A和C,因为它们彼此不相似,还是只包含B,因为你会考虑A和C相似的副本?在这种情况下,根据您希望如何处理像这样的“模糊”情况,您可以使用各种算法——但同样,我们需要知道您的确切要求,才能推荐任何东西
- 如果您的相似关系是可传递的-即,如果
意味着相似(a,b)和相似(b,c)
适用于所有URL相似(a,c)
,a
,b
,则可以将每个URL转换为规范形式。当且仅当两个URL的规范形式相等时,它们才会相似。因此,在这种情况下,最简单的方法是将每个URL转换为规范形式,然后创建一组通过以下方式获得的规范URL:c
set(canonical(u) for u in myList)
- 如果你的相似关系是不可传递的,那么事情就会变得非常棘手,因为你可能会遇到类似A和B的情况,比如A和B和C相似,但A和C不相似。因此,在这个例子中,问题变成了,你希望在列表中去掉重复项的情况下包括什么?包括A和C,因为它们彼此不相似,还是只包含B,因为你会考虑A和C相似的副本?在这种情况下,根据您希望如何处理像这样的“模糊”情况,您可以使用各种算法——但同样,我们需要知道您的确切要求,才能推荐任何东西
- 问题可能在于,您还没有弄清楚两个URL相似到底意味着什么。我们不能帮你,因为只有你知道你的要求是什么。不过,一旦你弄明白了这一点,剩下的就足够简单了。有两种方法可以做到这一点:
/
,还是没有考虑过像http://www.mywebsite.com/shoes
和http://mywebsite.com/shoes
相似性可能是一个非常复杂的问题,请尽可能具体地对待你认为类似的东西。你实际上只想删除最后的<代码> /<代码>,或者你没有考虑过类似“代码”之类的网站吗?http://www.mywebsite.com/shoes和http://mywebsite.com/shoes
相似性可能是一个非常复杂的问题,请尽可能具体地对待你认为类似的东西。谢谢教程。你也帮了我,谢谢你的指导。你也帮了我我用了这个。非常感谢。我最后用了这个。非常感谢。