如果任何传递的参数在列表中,我想编写一个函数来使用python的列表推导返回一组字符串。但是,它抛出需要字符串作为左操作数,而不是元组,并且当尝试使用另一个for循环时,它会抛出在赋值之前引用的局部变量j
def checkFor(*args):
return {a['title'] for a in soup.findAll('a') if 'title' in a.attrs and any(args in a['title'])}
def checkFor_(*args):
return{a['href'] for a in soup.findAll('a') if 'title' in a.attrs and j in a['title'] for i, j in enumerate(args)}
checkFor(a, b, c)
我肯定可以使用for循环,但我试图使用列表理解。任何提示?感谢。
答案 0 :(得分:0)
你快到了那里:
def checkFor(*args):
return {a['title'] for a in soup.findAll('a') if 'title' in a.attrs and any(arg in a['title'] for arg in args)}
您只是缺少一个for
来将元组args
扩展为其元素。