Python python 列表推导式与 assert 的结合使用

爱吃米饭 · 2021年01月08日 · 最后由 爱吃米饭 回复于 2021年01月08日 · 1781 次阅读

请教各位大佬,有这样一个需求,就是校验一个列表里面,每个元素是否含有某个字符串,除了 for 循环能够实现以外,想请教一下用列表推导式能不能实现?
比如

lst = ['SPA00090000', 'SPA000900001', 'SPAC00090002', 'SPA00090000',]

for ls in lst:
  assert 'SPA' in ls

上面可以用列表推导式实现吗?我这样尝试过,不过是错的

[assert 'SPA' in ls for ls in lst]

求指教

最佳回复

all() 或者 any() 函数

assert all(["SPA" in i for i in lst])
assert False not in ["SPA" in i for i in lst]
共收到 4 条回复 时间 点赞

all() 或者 any() 函数

assert all(["SPA" in i for i in lst])
YueChen 回复

感谢~

学到了,谢谢~

assert False not in ["SPA" in i for i in lst]
爱吃米饭 关闭了讨论 01月08日 19:07
爱吃米饭 重新开启了讨论 01月08日 19:08
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册