有一个域列表
a = ['*.abc.ru', '*.def.com', '*.qwery.ru']
还有一个链接列表
b = ['http://abc.ru', 'http://def.com', 'http://qwery.ru']
从链接我可以得到域
for link in b:
link.split('/')[2]
但是我如何从列表中删除包含列表“a”中域的所有链接?
有一个域列表
a = ['*.abc.ru', '*.def.com', '*.qwery.ru']
还有一个链接列表
b = ['http://abc.ru', 'http://def.com', 'http://qwery.ru']
从链接我可以得到域
for link in b:
link.split('/')[2]
但是我如何从列表中删除包含列表“a”中域的所有链接?
据我了解,在输出中,您希望有一个列表,其中包含其主机未包含在列表中的链接
a
。如果是这样,那么保持这个:我制作了一个没有额外字符的主机列表,然后遍历列表并找到匹配项,如果有一个匹配项,则变量
flag
采用一个值False
并且数据不会落入结果列表中。由于我在中添加了两个未定义主机的链接a
,因此执行结果将是在这里,我创建了一个单独的变量
result
,用于放置必要的数据。这是为什么?数据类型list
是可变数据类型,如果在循环中使用delete方法,可能会在输出中得到意想不到的结果,因为在这个循环的运行过程中列表和索引的长度会发生变化。如果需要保存变量名
b
,那么在脚本的最后,定义如下即,复制 中的列表
result
。b
如果您愿意,您可以将所有内容都塞进一个列表理解中,如下所示: