wtujcf123 发表于 2023-4-28 12:41

请问这个列表推导式如何理解

本帖最后由 wtujcf123 于 2023-5-19 19:03 编辑

import re

paths = ['/api/users/add/',
         '/api/users/edit/1',
         '/api/users/',
         '/api/account/view/1',
         '/api/account/',
         '/not/a/valid/path']
l = ['/api/users/*', '/api/account/*']
patterns =
a =
print(a)


请问,各位老师,上面代码中的这个列表推导式如何理解。


我按正常的方式展开,得出的是错误:TypeError: 're.Match' object is not iterable
for path in paths:
    for p in patterns:
      if any(p.match(path)):
            print(path)

如果将判断放在第二个循环外面,明显也是错误的。

saszznz 发表于 2023-4-28 16:38

wtujcf123 发表于 2023-4-28 13:26

本帖最后由 wtujcf123 于 2023-4-28 13:27 编辑

PEKING1 发表于 2023-4-28 12:54
这段代码报错的原因可能是 `any(p.match(path))` 这个表达式。`p.match(path ...
谢谢了,那这个any()是无用的函数吗??为什么在列表推导式中却能正常运行呢?

无闻无问 发表于 2023-4-28 16:10

从右往左的顺序整整吧

wtujcf123 发表于 2023-4-28 16:54

saszznz 发表于 2023-4-28 16:38
import re

# 路径源


谢谢老师。讲的非常清楚,辛苦了。{:1_893:}
页: [1]
查看完整版本: 请问这个列表推导式如何理解