没有内置方法可以执行此操作,但是可以通过使用列表推导来达到预期的结果。

[dict([[k, i if isinstance(i, str) else i[v-1]] for k,v in pat.groupindex.items()]) for i in pat.findall(text)]

格式友好:

>>> [

... dict([

... [k, i if isinstance(i, str) else i[v-1]]

... for k,v in pat.groupindex.items()

... ])

... for i in pat.findall(text)

... ]

我们使用列表推导构建一个列表,遍历来自groupindex的结果,该结果要么是字符串列表,要么是元组列表(0或1个捕获组会生成dict)。

对于结果中的每一项,我们从另一个列表理解中构造一个groupindex,该列表理解是从已编译模式的dict字段生成的,如下所示:

>>> pat.groupindex

{'name2': 2, 'name': 1}

为groupindex中的每个项目构造一个列表,如果dict中的项目是一个元组,则使用groupindex中的组号来查找正确的项目,否则将该项目分配给(仅现存的)命名组。

[k, i if isinstance(i, str) else i[v-1]]

最后,从字符串列表的列表中构建字典。

请注意,2933302076859409408仅包含命名组,因此在生成的dict中将省略未命名的捕获组。

结果:

[dict([[k, i if isinstance(i, str) else i[v-1]] for k,v in pat.groupindex.items()]) for i in pat.findall(text)]

[{'name2': 'sue', 'name': 'bob'}, {'name2': 'richard', 'name': 'jon'}]

python中字典的find_python-re.findall返回命名捕获组的字典?相关推荐

  1. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  2. python命名规则数字开头的成语_浅谈Python中带_的变量或函数命名

    搜索热词 Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就 ...

  3. Python中调用Linux命令并获取返回值

    方法一.使用os模块的system方法: os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于sh ...

  4. linux python脚本返回,在C/python中执行linux命令并得到返回值以及输出

    一般来说,用shell的方便之处在于,能够直接调用linux系统命令,方便的得到结果. 但是shell scprit的约束重重(这里不再讲了).下面说一下在C和python中如何调用linux命令.得 ...

  5. python中如何创建一个空列表_Python创建空列表的字典2种方法详解

    如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因.本文针对两种方法做了实验和分析. 如果要在 Python 中创建一个键值都 ...

  6. 统计英语6级试题中所有单词的词频 并返回一个如下样式的字典

    作业内容 统计英语6级试题中所有单词的词频,并返回一个如下样式的字典 {'and':100,'abandon':5} 英语6级试题的文件路径./artical.txt Tip: 读取文件的方法 def ...

  7. 详解Python正则表达式之: (?Pname…) named group 带命名的组

    2019独角兽企业重金招聘Python工程师标准>>> Python 2.7的手册中的解释: (?P<name>...) Similar to regular paren ...

  8. python中唯一的映射类型是什么_Python基础类型之字典(dict)

    1.字典: { } 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系. 2.创建字典 d1 = {'name': 'earth', 'port' ...

  9. python中装饰器的参数与返回值

    def itcast1(fun): def inner(*args, **kwargs): print("itcast1 start")      # args -> 元组数 ...

最新文章

  1. lispbox 安装运行.sh的时候出现 lispbox.sh: 2: lispbox.sh: Bad substitution
  2. 缓存框架OSCache部分源码分析
  3. Android中TimePicker时间选择器的使用和获取选择的时和分
  4. 【PL/SQL】学习笔记 (1)一个简单的PL/SQL程序
  5. SpringMVC中注解@RequestBody和@ResponseBody的使用区别
  6. 麒麟Linux关闭telnet,银河麒麟系统管理员使用手册(30页)-原创力文档
  7. Helm 3 完整教程(二十一):Helm 创建和引用子模板
  8. 一位大佬对于 Qt 学习的最全总结(三万字干货)
  9. 2017年世界500强企业排行榜【完整榜单】2017财富杂志世界五百强排名
  10. Bumped!详解—(Dijkstra堆优化,优先队列实现,结构体重载运算符)
  11. 2012年8月编程语言排行榜-C领衔称霸Obj-C强势爬升
  12. 程序员平时都是木讷的,但是谈到计算机或者程序的时候简直就是天才—兼借题发挥,谈谈语言及工具的选择...
  13. 杭电ACM 2000-2099 100道题 详细解题报告出炉
  14. 一些比较实用的书籍推荐
  15. Object.defineProperty方法的简单介绍
  16. larbin的详细配置
  17. 在数据库中如何使用存储过程
  18. 爱剪辑的入门使用体验
  19. Amesim(六):如何使用回放功能
  20. unity mono 编译

热门文章

  1. dedecms系统列表页调用tag标签同时带上链接的方法
  2. Linux/Centos Mondo 一键部署、镜像恢复,快速部署
  3. 大数据技术下 分布式数据库何去何从?
  4. 各种音频编码方式的对比
  5. 选择主键:自然键还是代理键?
  6. 利用Visual Studio的搜索功能和正则表达式统计代码行数
  7. GitHub 远程仓库 de 第一次配置
  8. Android攻城狮ListView
  9. 第 1 节: 1-文本自增演示HttpHandler不记忆状态
  10. 正则东西类,简化正则匹配