例如,我需要将字符串转换为字典

str1 = "00001000-0009efff : a 00100000-656b2fff : b"

输出我需要的是

dict1 = {'a':['00001000','0009efff'], 'b':['00100000','656b2fff']}

注:str1可以有更多这样的cde和范围.

推荐答案

你可以用正则表达式:

import re

pattern = r'([\w\-]+) : ([\w\.]+)'
out = {m[1]: m[0].split('-') for m in re.findall(pattern, str1)}

正则表达式的解释:

  • 匹配字母数字字符和破折号的组合[\w-]+
  • 后跟空格、冒号和空格_:_
  • 后面跟着一个[a-z]

小组正在捕捉你的相关信息.

Python相关问答推荐

从webhook中的短代码(而不是电话号码)接收Twilio消息

@Property方法上的inspect.getmembers出现意外行为,引发异常

比较2 PD.数组的令人惊讶的结果

如何根据参数推断对象的返回类型?

如何在虚拟Python环境中运行Python程序?

使用groupby Pandas的一些操作

如何使用scipy的curve_fit与约束,其中拟合的曲线总是在观测值之下?

不能使用Gekko方程'

启动带有参数的Python NTFS会导致文件路径混乱

网格基于1.Y轴与2.x轴显示在matplotlib中

Python—转换日期:价目表到新行

用SymPy在Python中求解指数函数

如何过滤组s最大和最小行使用`transform`'

python3中np. divide(x,y)和x/y有什么区别?'

多索引数据帧到标准索引DF

Django更新视图未更新

如何让PYTHON上的Selify连接到现有的Firefox实例-我无法连接到Marionette端口

如何计算Pandas 中具有特定条件的行之间的天差

GEKKO中若干参数的线性插值动态优化

401使用有效的OAuth令牌向Google Apps脚本Web App发出POST请求时出现未经授权的错误(";