簡體   English   中英

我可以在Python上的if條件中為變量賦值

[英]Can I assign value to a variable among if condition on Python

我以這種方式編寫代碼,我想將匹配的值分配給'm',但是lst [1]可能不包括我想要的pat。 如果確實如此,那么我會繼續做一些關於'm'的事情,例如:m.group(2).split()....

  if re.match(pat, lst[1]):
       m=re.match(pat, lst[1])

但我不想重復兩次re.match(pat,lst [1])。

我希望以這種方式實現

  if m = re.match(pat, lst[i])

但它告訴我“語法錯誤無效。任何想法?

只需預先指定值並檢查它是否為None:

m = re.match(pat,lst[1])
if not m:
  del m

你可以濫用for您的任務。

def for_if(expression):
    if expression:
        yield expression

for m in for_if(re.match(pat, lst[1])):
    # work with m

要不就

for m in (i for i in (re.match(pat, lst[1]),) if i):
    # do the same

這對可讀性並沒有多大幫助,但卻是將賦值和測試結合起來的唯一方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM