hunter魔术师 发表于 2022-4-23 16:01:14

lambda函数用正则表达式怎么错误了?

import re
s='15k-30k'

lambda (x,y):re.findall('(\d+)-(\d+)',s)

isdkz 发表于 2022-4-23 16:11:34

本帖最后由 isdkz 于 2022-4-23 16:12 编辑

形参不能加上括号,不明白你为什么用 x,y,你的匿名函数都没用上 x, y,

总之,不能加括号import re
s='15k-30k'

func = lambda s:re.findall('(\d+)-(\d+)',s)
print(func(s))

hunter魔术师 发表于 2022-4-23 18:40:22

那假设s=['15k-30k','22k-33k'],下面的lambda应该怎么表达出来每一个元素。

python爱好者. 发表于 2022-4-23 18:47:28

hunter魔术师 发表于 2022-4-23 18:40
那假设s=['15k-30k','22k-33k'],下面的lambda应该怎么表达出来每一个元素。

s = ['15k-30k','22k-33k']
func = lambda s : -(\d+)",each) for each in s]
import re
func(s)
[[('15', '30')], [('22', '33')]]

hunter魔术师 发表于 2022-4-24 00:19:43

python爱好者. 发表于 2022-4-23 18:47


{:5_106:}
页: [1]
查看完整版本: lambda函数用正则表达式怎么错误了?