2006年01月15日 星期日 00:15
python中string是immutable,所以下面的代码感觉效率有些低 for i in xrange(1000): s = s + 'something' 因为创建了和销毁了1000个string 能不能先做个够大的buffer,然后修改之,最后转换成string,好像 l = []*1000*9 # len('something') == 9 for i in xrange(1000): l[i*9:(i+1)*9] = 'something' s = ''.join(l) 但是上面这个join()不是为这个目的做的,不知道效率是不是也一样低? 或者join()就是为这个目的做的,我想错了? -- regards, yzhh
2006年01月15日 星期日 03:46
StringIO和cStringIO On 1/14/06, yzhh <yezonghui at gmail.com> wrote: > python中string是immutable,所以下面的代码感觉效率有些低 > for i in xrange(1000): > s = s + 'something' > 因为创建了和销毁了1000个string > > 能不能先做个够大的buffer,然后修改之,最后转换成string,好像 > l = []*1000*9 # len('something') == 9 > for i in xrange(1000): l[i*9:(i+1)*9] = 'something' > s = ''.join(l) > 但是上面这个join()不是为这个目的做的,不知道效率是不是也一样低? > 或者join()就是为这个目的做的,我想错了? > > -- > regards, > yzhh > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese >
2006年01月15日 星期日 08:43
关于"+"操作符和join操作比较,可以参考《Python源码剖析》中的这篇关于字符串对象的文章: http://blog.donews.com/lemur/archive/2005/12/22/667710.aspx On 1/15/06, yzhh <yezonghui at gmail.com> wrote: > > python中string是immutable,所以下面的代码感觉效率有些低 > for i in xrange(1000): > s = s + 'something' > 因为创建了和销毁了1000个string > > 能不能先做个够大的buffer,然后修改之,最后转换成string,好像 > l = []*1000*9 # len('something') == 9 > for i in xrange(1000): l[i*9:(i+1)*9] = 'something' > s = ''.join(l) > 但是上面这个join()不是为这个目的做的,不知道效率是不是也一样低? > 或者join()就是为这个目的做的,我想错了? > > -- > regards, > yzhh > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060115/da16e559/attachment.htm
2006年01月15日 星期日 13:11
谢谢,这么说join已经是最快了 Robert Chen wrote: > 关于"+"操作符和join操作比较,可以参考《Python源码剖析》中的这篇关于字符串对象的文章: > http://blog.donews.com/lemur/archive/2005/12/22/667710.aspx -- regards, yzhh
2006年01月15日 星期日 13:25
又学到新东西了,呵呵 shhgs wrote: > StringIO和cStringIO -- regards, yzhh
Zeuux © 2025
京ICP备05028076号