如果有东西存在,请用东西做点什么
什么是正确的(pythonic)方法来做这样的事情?如果有东西存在,请用东西做点什么
var = 'The quick brown fox' def exists(query, string):
if query in string:
return query
else:
return None
if thing = exists('fox', var):
print(thing.upper())
这是我的例子,但我真正想做的是检查Selenium网元是否存在。我想避免将结果设置为变量,因为这会破坏“存在”的目的。此外,我不想执行搜索两次,第一次返回true/false,如果是,则使用它执行某些操作。
回答:
这是其中有多种方法可以做到的其中一种情况。有几件事情你可以做:
结果视为零到一个元素的集合(它更有意义,如果你把它像
find_one
在这种情况下):def find_one(query, string):
if query in string:
return [query]
return []
然后您可以使用该功能在
for
循环:for existing_element in find_one(query, string):
# Do something with existing element
break
else:
# Here if we don't have any elements (note the `break` above)
传递一个回调的第一个参数:
def if_exists(cb, query, string):
if query in string:
cb(query)
def run_on_valid_query(q):
# Do something with q
if_exists(run_on_valid_query, query, string)
硬着头皮使用一个中间变量:
result = extract_from(query, string)
if result: # Do work here
以上是 如果有东西存在,请用东西做点什么 的全部内容, 来源链接: utcz.com/qa/265036.html