On Sun, May 17, 2015 at 2:22 AM, <bruceg113...@gmail.com> wrote: > # Original Approach > # ----------------- > ss = ss.split("\n") > ss1 = "" > for sdata in ss: > ss1 = ss1 + (sdata[OFFSET:] + "\n") > > > # Chris's Approach > # ---------------- > lines = ss.split("\n") > new_text = "\n".join(line[8:] for line in lines)
Ah, yep. This is exactly what str.join() exists for :) Though do make sure the results are the same for each - there are two noteworthy differences between these two. Your version has a customizable OFFSET, where mine is hard-coded; I'm sure you know how to change that part. The subtler one is that "\n".join(...) won't put a \n after the final string - your version ends up adding one more newline. If that's important to you, you'll have to add one explicitly. (I suspect probably not, though; ss.split("\n") won't expect a final newline, so you'll get a blank entry in the list if there is one, and then you'll end up reinstating the newline when that blank gets joined in.) Just remember to check correctness before performance, and you should be safe. ChrisA -- https://mail.python.org/mailman/listinfo/python-list