Python 按域URL列表唯一
此示例列表包含同一域上的两个URL: 从这个列表(URL)中,我必须创建第二个唯一的列表。第二个列表只能包含来自一个唯一域的一个url 第一个列表可能包含10万个URL甚至更多Python 按域URL列表唯一,python,list,Python,List,此示例列表包含同一域上的两个URL: 从这个列表(URL)中,我必须创建第二个唯一的列表。第二个列表只能包含来自一个唯一域的一个url 第一个列表可能包含10万个URL甚至更多 什么是pythonic方法来实现这一点?调用urlparse.urlparse并使用结果的netloc成员 urls = ['http://www.doopa.pl/1','http://www.doopa.pl/2', 'http://www.dupa2.pl/4/php.pl', 'http://www.
什么是pythonic方法来实现这一点?调用
urlparse.urlparse
并使用结果的netloc
成员
urls = ['http://www.doopa.pl/1','http://www.doopa.pl/2',
'http://www.dupa2.pl/4/php.pl', 'http://www.dupa3.pl/4/php?gfdgfd=44',
'www.dupa4.pl/4/php.pl']
请注意,结果将包含
URL
中列出的每个域的最后一个URL。如果需要第一个,则在理解中循环反向(URL)
。调用urlparse.urlparse
并使用结果的netloc
成员
urls = ['http://www.doopa.pl/1','http://www.doopa.pl/2',
'http://www.dupa2.pl/4/php.pl', 'http://www.dupa3.pl/4/php?gfdgfd=44',
'www.dupa4.pl/4/php.pl']
>>> urls = ['http://www.doopa.pl/1','http://www.doopa.pl/2',
... 'http://www.dupa2.pl/4/php.pl', 'http://www.dupa3.pl/4/php?gfdgfd=44',
... 'www.dupa4.pl/4/php.pl']
>>> from urlparse import urlparse
>>> dict((urlparse(u).netloc, u) for u in urls).values()
['www.dupa4.pl/4/php.pl', 'http://www.dupa2.pl/4/php.pl', 'http://www.doopa.pl/2', 'http://www.dupa3.pl/4/php?gfdgfd=44']
请注意,结果将包含URL
中列出的每个域的最后一个URL。如果您想要第一个,那么在理解中循环反向(URL)
>>> urls = ['http://www.doopa.pl/1','http://www.doopa.pl/2',
... 'http://www.dupa2.pl/4/php.pl', 'http://www.dupa3.pl/4/php?gfdgfd=44',
... 'www.dupa4.pl/4/php.pl']
>>> from urlparse import urlparse
>>> dict((urlparse(u).netloc, u) for u in urls).values()
['www.dupa4.pl/4/php.pl', 'http://www.dupa2.pl/4/php.pl', 'http://www.doopa.pl/2', 'http://www.dupa3.pl/4/php?gfdgfd=44']
现在,您有了一个包含关联路径的域的dict
您现在有了一个包含关联路径的域的dict。不确定它的“Pythonic”程度,但用于解析域,然后检查每个域是否已在结构中。不确定它的“Pythonic”程度,但用于解析域,然后只检查每个域是否已在结构中。谢谢,这就是我想知道的:)谢谢,这就是我想知道的:)