我们在进行程序操作的时候,因为各种原因,需要通过不同的形式返回到之前的对象。不知道小伙伴们会几种返回的函数方法呢?今天要介绍的是
findall和finditer是一对小伙伴,它们的区别在于输出的形式。在这里,小编就先揭秘一下,想知道答案的小伙伴们一起往下看吧。
findall(pattern, string, flags=0)
在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过
列表list
的
形式返回。
import re
pattern = re.compile(r'\W+')
result1 = pattern.findall('hello world!')
result2 = pattern.findall('hello world!', 0, 7)
print(result1) #[' ', '!']
print(result2) #[' ']
finditer(pattern, string, flags=0)
在字符串string中匹配所有符合正则表达式pattern的对象,并把这些对象通过
迭代器
的
形式返回。
import re
pattern = re.compile(r'\W+')
result = pattern.finditer('hello world!')
for r in result:
print(r)
# <re.Match object; span=(5, 6), match=' '>
# <re.Match object; span=(11, 12), match='!'>
看完的小伙伴会发现本篇的函数也是很相似的,不过没有上篇的sub那么容易看错,findall和finditer的使用方法相信大家都学会啦。
更多Python学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何检查一列是否有python中的数据09/28
- ♥ python变量命名错误是什么原因11/26
- ♥ python中字典的键不能是什么类型?10/04
- ♥ Python find() 方法12/27
- ♥ python动态规划算法的使用过程12/29
- ♥ centos如何在python中安装虚拟环境?12/19
内容反馈