我已经抓取了一个网站,并检索到了主题作者陈述的部分。在提取作者之后,我有一个字符串列表:
authorlist=[]
for post in topicsection:
authorlist.append(re.findall(r'<a href="/[Mm]ember.*?">(.*?)</a>',
post))
>>>> [['author1'],['author2'],['author3']]
但是,我想将其转换为一个字符串列表。因此,我循环遍历Authorlist,并将每个列表的第一个元素附加到authorlist。有时,文本中会出现空列表,这会导致错误。因此,我想使用try-except命令,在该命令中,空列表被忽略。
我如何告诉Python提取每个列表的第一个元素,但如果有一个空列表,则继续循环?我尝试了以下方法,但except-part不起作用:
try:
authorlist = [lijst[0] for lijst in authorlist]
except IndexError:
pass
提前谢谢你!
发布于 2016-05-24 16:28:08
您可以在列表理解中使用条件语句
authorlist = [lijst[0] for lijst in authorlist if lijst]
发布于 2016-05-24 16:28:26
尝试将过滤条件添加到列表理解中:
authorlist = [lijst[0] for lijst in authorlist if len(lijst) > 0]
发布于 2016-05-24 16:29:37
authorlist = [lijst[0] for lijst in authorlist if lijst]
你应该检查作者列表是否在那里。希望这能有所帮助。
https://stackoverflow.com/questions/37408127
复制相似问题