使用*args列出理解

2024-09-27 22:30:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个函数来使用python的list comprehension返回一组字符串,如果传递的参数在列表中。但是,它抛出需要字符串作为左操作数,而不是元组,当尝试使用另一个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循环实现,但我尝试使用列表理解。有什么提示吗?谢谢。


Tags: and函数字符串in列表forreturnif
1条回答
网友
1楼 · 发布于 2024-09-27 22:30:48

你就快到了:

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扩展到其元素中。在

相关问题 更多 >

    热门问题