第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查字符串在 Python 中的常量詞之上是否至少有 1 個詞的變體?

如何檢查字符串在 Python 中的常量詞之上是否至少有 1 個詞的變體?

慕的地6264312 2021-07-08 14:02:42
因此,我的腳本會提取網站上列出的產品的標簽,我不斷地尋找一種產品,我知道它有一個特定的關鍵字和另一個拼寫不時變化的關鍵字。關鍵字常量是“blazer”,另一個變量關鍵字是“10”或“十”。這是找到包含“西裝外套”一詞以及“10”或“十”的標題的正確方法嗎?if 'blazer' in compareName and 'ten' or '10' in compareName:  func()else:  pass因此,如果字符串變量 compareName 同時具有 'blazer' 和 'ten' 或 'blazer' 和 '10',我希望該函數運行
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

'ten' or '10' in compareName部分不會給你你想要的結果。每次都會返回“十”!相反,您需要檢查“十”是否在 compareName 中,并檢查“10”是否在比較名稱中,并將 或 放在兩者之間,如下所示:

if 'blazer' in compareName and ('ten' in compareName or '10' in compareName):


查看完整回答
反對 回復 2021-07-13
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您似乎對編程的工作方式有根本的誤解。我強烈建議你在繼續(xù)之前閱讀一些比較。


這里的聲明:


if 'blazer' in compareName and 'ten' or '10' in compareName:

基本上評估為:


if (('blazer in compareName) == True) and ('ten' == True) or (('10' in compareName) == True):

假設compareName是 'blazerten',它將評估為:


if True and True or False:


# Note: Python evaluates OR before AND operators


# Result: True

看起來不錯?不!如果compareName是 'blazer',它將評估相同的東西。因為第二個條件'ten'總是評估為,True因為它不是一個空字符串,所以一旦你滿足第一個條件,第二個和第三個條件就沒有實際意義了。


正確的方法是提到的其他答案,您需要分別進行比較:


if 'blazer' in compareName and 

   'ten' in compareName or 

   '10' in compareName:

注意:如果您尊重操作優(yōu)先級,則不需要括號。


如果你覺得有點冒險,又不想重復太多,你可以嘗試用列表理解來表達:


if 'blazer' in compareName and

   any([part in compareName for part in ['ten', '10']]):

第二個條件現在由any()函數處理。當然,需要注意的是,您放棄了一點可讀性。優(yōu)勢雖然是如果你需要比較多只'ten',并'10'在OR子句中,你可以簡單地添加到第二個條件的名單。


查看完整回答
反對 回復 2021-07-13
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

我相信有更好的方法可以做到這一點,但要簡單地維護您的語法并給出正確的答案,您的if語句應該是


if 'blazer' in compareName and ('ten' in compareName or '10' in compareName):

    func()

else:

    pass


查看完整回答
反對 回復 2021-07-13
  • 3 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號