我从一个网页上抓取数据,当我将数据加载到一个列表列表中时,它看起来是这样的
[['text', 'text', '', '', 'text', 'text']]
我正在尝试从所有列表中删除空字符串,但到目前为止,我尝试的所有操作都不起作用。你知道吗
results = []
for list in scrape_list:
for item in scrape_list:
if item != '':
results.append(item)
OUTPUT: [['text', 'text', '', '', 'text', 'text']]
scrape_list1 = list(filter(None, scrape_list))
OUTPUT: [['text', 'text', '', '', 'text', 'text']]``
我想知道这些索引是否真的不是空字符串,而是包含一个值。如果其他人遇到这种情况,请随时告诉我发生了什么,因为我想不出来。你知道吗
正如@chunjef在评论中提到的,您在
scrape_list
中迭代了两次。顺便说一下,一个更紧凑的方法是其中
[item for l in ll for item in l if item!='']
既可以展平列表ll
,也可以删除与空字符串''
不同的任何l
项如果你想要一个纯粹的python方式,你可以使用嵌套列表理解
在我的电脑上,控制台是这样的
我猜只是一个打字错误(正如@chunjef在评论中提到的):
scrape_list
中的单个项是一个list
并且肯定是!= ''
,因此这个内部列表被附加到results
,因此您的输出是。scrape_list
的嵌套特性也会使filter语句失败。你可以用得到一个简单的字符串列表。你知道吗
相关问题 更多 >
编程相关推荐