Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按域URL列表唯一_Python_List - Fatal编程技术网

Python 按域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.

此示例列表包含同一域上的两个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.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”程度,但用于解析域,然后只检查每个域是否已在结构中。谢谢,这就是我想知道的:)谢谢,这就是我想知道的:)