【发布时间】:2020-06-10 18:49:31
【问题描述】:
我有以下要求,我想检查一个模式是否是任何列表项的子字符串。如果没有,则继续如下:
for(feature in features):
permissions = ['assets:analyticdn', 'assets.analyticun', 'assets1', 'assets2']
present = False
for(permission in permissions):
if('assets:analytic' in permission):
present = True
break
if present == False:
continue # go to line ---> for(feature in features):
# execute the rest of the code if present is True
可以缩短并以更 Python 的方式编写吗?
【问题讨论】:
-
同样,这段代码应该做什么?实际上,您正在检查
'assets:analytic'是否是permissions中任何项目的子字符串,这始终是正确的,因为permissions中的第一项是'assets:analyticdn',其中包含'assets:analytic'... -
如果你想问“'assets:analytic'是权限列表中任何项目的子字符串吗?”,你可以这样:
if any('assets:analytic' in p for p in permissions):
标签: python python-3.x list-comprehension next any