2016-02-19 22 views
-1

這是我現在有,這是行不通的:使用「如果不是」多字符串參數的Python

if "Forwarder" not in shp_name or "T_" not in shp_name or "Grad" not in shp_name: 

我也試過:輸入

if ("Forwarder", "T_", "Grad") not in shp_name: 

樣本將是「DS_Forwarder_1」還是「DS_Harvester_1」。該腳本直接進入else,因爲它無法識別主字符串中的任何上述子字符串。

+3

不工作如何?你想要發生什麼,發生了什麼? – Holloway

+0

它不是識別包含我提到的3個子字符串的字符串...並且示例將是「DS_Forwarder_1」 – Pewpewpwnj00

+0

因此,如果任何字符串是「shp_name」的子字符串,那麼您希望它是「真」嗎? – Holloway

回答

5

嘗試使用any內置的。

if any(s in shp_name for s in ("Forwarder", "T_", "Grad")): 
    ... 

如果任何給定的字符串存在於shp_name這會成真。如果您想在出現其中一個字符串時出現False,則可以使用if not any(...

相關問題