将IF与和/或python组合
我试图从python字符串中过滤掉一些“单词/字符”。 这是我的密码:将IF与和/或python组合,python,string,if-statement,Python,String,If Statement,我试图从python字符串中过滤掉一些“单词/字符”。 这是我的密码: if "MV" not in network_name: if "MOB" not in network_name: if "MG" not in network_name: if "RO" not in network_name: if "RQ"
if "MV" not in network_name:
if "MOB" not in network_name:
if "MG" not in network_name:
if "RO" not in network_name:
if "RQ" not in network_name:
if "RM" not in network_name:
if "RT" not in network_name:
if "RC" not in network_name:
if "RW" not in network_name:
if "RU" not in network_name:
if "RA" not in network_name:
if "RH" not in network_name:
print ('OK')
有没有一种方法可以让所有的过滤器都成为一体机?
提前谢谢 下面是一个使用
any
运算符的简单代码:
s = "AF GV BH TF"
l1 = ["AF", "GB"]
l2 = ["VG, FT"]
print(any(i in s for i in l1)) #True, since AF is in string s
print(any(i in s for i in l2)) #False
类似地,您可以添加子字符串以签入列表,并使用如上所示的
any
操作符。我建议您使用set或any操作
范例
if not any(1 if i in network for i in ['MV', 'MOB', 'NG']):
print('ok')
或
例如,创建一组所有所需字符串,如
set1
if bool(set1.symmetric_difference(network_name)):
print("OK")
一个选项:sum([1 if-word in network\u name否则0 for words in words])==0
其中words
是不需要的单词列表(words=[“MV”,“MOB”,“MG”,“…])
)。
if bool(set1.symmetric_difference(network_name)):
print("OK")