modifying small chunks from long string
mackstevenson at hotmail.com
Mon Nov 14 07:57:50 CET 2005
I am faced with the following problem. For the first time I've asked
myself "might this actually be easier to code in C rather than in
python?", and I am not looking at device drivers. : )
This program is meant to process relatively long strings (10-20 MB) by
selectively modifying small chunks one at a time. Eg, it locates
approx. 1000-2000 characters and modifies them. Currently I was doing
this using a string object but it is getting very slow: although I only
modify a tiny bit of the string at a time, a new entire string gets
created whenever I "merge" it with the rest. Eg,
shortstr = longstr[beg:end]
# edit shortstr...
longstr = longstr[:beg] + shortstr + longstr[end:] # new huge string is
Can I get over this performance problem without reimplementing the
whole thing using a barebones list object? I though I was being "smart"
by avoiding editing the long list, but then it struck me that I am
creating a second object of the same size when I put the modified
shorter string in place...
Thanks for any help,
More information about the Python-list