大家好,我是皮皮。
前几天在Python钻石交流群【月神】问了一个正则表达式的题目,这里拿出来给大家分享。
这里【时一】直接上代码了,如下所示:
import re
li = ['30-100元', '3.5-7.5元', '6元', ' 7- 9元']
result = [float(re.search(r"(\d*\.?\d+)元", key).group(1)) for key in li]
print(min(result), max(result))
这个代码亲测好使,运行之后结果如下。
不过后来发现【月神】并不是这个意思,后来补充了下,如下图所示:
那么此时代码就需要改下了,如下所示:
import re
li = ['30-100元', '3.5-7.5元', '6元', ' 7- 9元']
result = [[float(item) for item in re.findall(r"(\d*\.?\d+)", key)] for key in li]
print(result)
print(min(result), max(result))
如此就完美解决了,大家叹为观止。
真是应了那句话,羡慕会简写的,每次自己都得写一堆,人家几行就搞定了!!
大家好,我是皮皮。这篇文章主要盘点一个正则表达式题目(惊艳写法),如果你还有其他写法,也欢迎大家积极尝试,一起学习。
最后感谢粉丝【月神】分享,感谢【时一】大佬给出的代码和解析,感谢粉丝【冯诚】、【艾希·觉罗】、【dcpeng】、【杨羊】、【猫药师Kelly】、【某嘟】、【emerson】等人参与学习交流。