![](/img/trans.png)
[英]Python, search substring not in dict without for loop in one line
[英]One line for loop search in python
我知道这可能可以在一行中完成,这很简单,但是我在语法上一直失败。 我要执行以下操作:
for tag in TAGS.values():
if tag in myset:
found_tag = tag
break
我已经尝试过类似的东西
found_tag = tag if tag in myset for tag in TAGS.values()
但是我一直在for
上遇到语法错误。 有没有一种方法可以在python中做到这一点?
如果要获取第一个令人满意的标签然后停止,请使用next 。
found_tag = next((tag for tag in TAGS.values() if tag in myset), None)
如果找不到这样的标签,它将给出None
。
如果要获取所有匹配的标签,可以执行以下操作:
found_tags = [tag for tag in TAGS.values() if tag in myset]
您缺少方括号, if
最好放在末尾。 尝试:
found_tag = [tag for tag in TAGS.values() if tag in myset]
解决此问题的另一种方法是使用set操作(仅当尚未设置变量时才需要使用set()
构造函数):
found_tag = (set(TAGS.values()) & set(myset))
如果只有一个,则可以使用.pop()
获得唯一的项:
found_tag = (set(TAGS.values()) & set(myset)).pop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.