Thanks Marc, that was very helpful. Marc 'BlackJack' Rintsch wrote: > In <[EMAIL PROTECTED]>, manstey wrote: > > > I often have code like this: > > > > data='asdfbasdf' > > find = (('a','f')('s','g'),('x','y')) > > for i in find: > > if i[0] in data: > > data = data.replace(i[0],i[1]) > > > > is there a faster way of implementing this? Also, does the if clause > > increase the speed? > > It decreases it. You search through `data` in the ``if`` clause. If it's > `False` then you have searched the whole data and skip the replace. If > it's `True` you searched into data until there's a match and the the > `replace()` starts again from the start and searches/replaces through the > whole data. > > You can get rid of the indexes and make the code a bit clearer by the way: > > for old, new in find: > data = data.replace(old, new) > > Ciao, > Marc 'BlackJack' Rintsch
-- http://mail.python.org/mailman/listinfo/python-list