我抓了一个网站并检索了一个主题作者的部分。在提取作者之后,我有一个字符串列表列表:
authorlist=[]
for post in topicsection:
authorlist.append(re.findall(r'<a href="/[Mm]ember.*?">(.*?)</a>',
post))
>>>> [['author1'],['author2'],['author3']]
但是,我想把它变成一个字符串列表。因此,我遍历作者列表并将每个列表的第一个[0]元素附加到Authorlist。有时文本中会出现一个空列表,这会导致错误。因此,我想使用try-except命令,其中忽略空列表。
如何告诉Python提取每个列表的第一个元素,但如果有空列表则继续循环?我尝试了以下内容,其中除了部分不起作用:
try:
authorlist = [lijst[0] for lijst in authorlist]
except IndexError:
pass
提前谢谢!
答案 0 :(得分:2)
您可以在列表理解中使用条件语句
authorlist = [lijst[0] for lijst in authorlist if lijst]
答案 1 :(得分:1)
尝试向列表推导添加过滤条件:
authorlist = [lijst[0] for lijst in authorlist if len(lijst) > 0]
答案 2 :(得分:1)
authorlist = [lijst[0] for lijst in authorlist if lijst]
您应该检查作者列表是否存在。希望这会有所帮助。