栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Is there a generator version of `string.split()` in Python?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Is there a generator version of `string.split()` in Python?

It is highly probable that

re.finditer
uses
fairly minimal memory overhead.

def split_iter(string):    return (x.group(0) for x in re.finditer(r"[A-Za-z']+", string))

Demo:

>>> list( split_iter("A programmer's RegEx test.") )['A', "programmer's", 'RegEx', 'test']

edit: I have just confirmed that this takes constant memory in python
3.2.1, assuming my testing methodology was correct. I created a string of very
large size (1GB or so), then iterated through the iterable with a

for
loop
(NOT a list comprehension, which would have generated extra memory). This did
not result in a noticeable growth of memory (that is, if there was a growth in
memory, it was far far less than the 1GB string).



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号