gpt4 book ai didi

python-3.x - Python3 split() 与生成器

转载 作者:行者123 更新时间:2023-12-04 00:43:36 25 4
gpt4 key购买 nike

在 Python3 中,许多方法返回迭代器或生成器对象(而不是 Python2 中的列表或其他重对象)。

但是,我发现拆分字符串仍然返回 list而不是 generatoriteator :

~$ python3
Python 3.2.2
(...)
>>> type('a b c d'.split())
<class 'list'>

是否有使用 generator 分割字符串的内置函数?或 iterator ?

(我知道我们可以自己拆分它并编写好的生成器函数。我很好奇标准库或语言中是否有东西可以做到这一点)

最佳答案

查看 re.finditer来自 re 模块 => Python Docs

简单来说:

"""
返回一个迭代器,该迭代器在字符串中的 RE 模式的所有非重叠匹配中产生匹配对象。从左到右扫描字符串,并按找到的顺序返回匹配项。空匹配包含在结果中,除非它们触及另一个匹配的开始。
"""

我认为它会做你需要的。例如:

import re
text = "This is some nice text"
iter_matches = re.finditer(r'\w+', text)
for match in iter_matches:
print(match.group(0))

关于python-3.x - Python3 split() 与生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728747/

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