gpt4 book ai didi

python - 匹配前后如何匹配和创建字典

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:20 25 4
gpt4 key购买 nike

import re
s = 'A boy is 31 and girl is 22.'
print(re.findall(r'\S+(?=\s+is\b)', s))

out > ['男孩', '女孩']

print (re.findall(r'\S+(?=\s+)is(?:\s*\S+|$)',s))

出> []

如果我以 ['boy',31,'girl',22] 的身份出局,那么我可以b = dict(zip(list_[::2], list_[1::2]))

Expected Out > {'boy':31, 'girl':22}

最佳答案

你可以使用

import re
s = 'A boy is 31 and girl is 22.'
print(dict([(x,int(y)) for x, y in re.findall(r'(\S+)\s+is\s+(\d+)', s)]))
## Or, with dictionary comprehension
print( {x:int(y) for x, y in re.findall(r'(\S+)\s+is\s+(\d+)', s)} )

参见 Python demo

这里,模式匹配

  • (\S+) - 1+ 个非空白字符(第 1 组,x)
  • \s+is\s+ - 包含 1+ 个空格
  • (\d+) - 1+ 位数字(第 2 组,y)

参见 regex demo .

关于python - 匹配前后如何匹配和创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com