不知道你的数据量有多大,有很多种方法解决这个问题,其中比较简单的一种就是递归。注意,如果递归方法出现溢出,可以考虑改写成循环。
既然你已经得到了嵌套了列表,那么我就从你的嵌套列表开始操作。假设你的数据是这样的:
data = [
['http://www.akzonel.com', 'http://www.AK20Nobel.com'],
['http://www.tcl.com', 'http://nyell.td.com', 'http://www.tclcomm.com',
'http://www.tcl.com', 'http://www.tcldisplay.com', 'http://www.tcl-cctv.com']
]
那么我们可以定义一个函数read和一个全局变量results,递归调用来获取所有结果:
results = []
def read(my_list):
for item in my_list:
if isinstance(item, str):
results.append(item)
else:
read(item)
直接输入data:
read(data)
print(results)
最终的结果为:
['http://www.akzonel.com', 'http://www.AK20Nobel.com', 'http://www.tcl.com', 'http://nyell.td.com', 'http://www.tclcomm.com', 'http://www.tcl.com', 'http://www.tcldisplay.com', 'http://www.tcl-cctv.com']
完整代码如下:
data = [
['http://www.akzonel.com', 'http://www.AK20Nobel.com'],
['http://www.tcl.com', 'http://nyell.td.com', 'http://www.tclcomm.com',
'http://www.tcl.com', 'http://www.tcldisplay.com', 'http://www.tcl-cctv.com']
]
results = []
def read(my_list):
for item in my_list:
if isinstance(item, str):
results.append(item)
else:
read(item)
read(data)
print(results)