如果有东西存在,请用东西做点什么

什么是正确的(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,如果是,则使用它执行某些操作。

回答:

这是其中有多种方法可以做到的其中一种情况。有几件事情你可以做:

  1. 结果视为零到一个元素的集合(它更有意义,如果你把它像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)

  2. 传递一个回调的第一个参数:

    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)

  3. 硬着头皮使用一个中间变量:

    result = extract_from(query, string) 

    if result: # Do work here

以上是 如果有东西存在,请用东西做点什么 的全部内容, 来源链接: utcz.com/qa/265036.html

回到顶部