我有一个如下的python列表
List=['\Opt\mydata.cab','\my\ginger','\my\garbage','\my\hfs']
我有一个字符串,如下所示
strin1="mydata\opt\mydata.cab"
是否有任何简单的方法来匹配列表'\ opt \ mydata.cab'中的字符串,没有for循环,如下所示
if strin1 in List:
print(strin1)
答案 0 :(得分:4)
不,Python没有这样的东西。但是你可以随时使用any
这样的功能
if any(item in strin1 for item in List):
不过,这将寻找完全匹配。如果您想要不区分大小写,则可以将两边都转换为小写。
使用any
的优点是
您不必自己动手
第一次满足条件时立即短路
适用于任何可迭代的
如果您想获得匹配的项目,可以使用next
这样的功能
next(item for item in List item in item in strin1)
如果没有匹配,您也可以传递要返回的默认值,例如
next(item for item in List item in item in strin1, None)