Forwarding to list > From: spir <denis.s...@free.fr> > To: Alan Gauld <alan.ga...@btinternet.com> > Sent: Wednesday, 18 March, 2009 8:41:39 AM > Subject: Re: [Tutor] list.replace -- string.swap > > Le Tue, 17 Mar 2009 20:46:06 -0000, > "Alan Gauld" s'exprima ainsi: > > "spir" wrote > Sorry, I was unclear all along my post. > > > > Is there a list.replace builtin I cannot find? Or a workaround? > > > > myList[x] = newValue > > > > Or is that too obvious? > > I mean like string.replace. Something like: > > def replace(seq, v1, v2): > for (index,item) in enumerate(seq): > if item == v1: > seq[index] = v2 > > Now, I know i does not exist. > > > > Also: How would perform string.swap(s1, s2) in the following cases: > > Here I mean exchanging s1 and s2 occurrences all along a string. As an > example, > in a text containing numerous formatted numbers, switch from english to > european > format: > 1,234,567.89 > 1.234.567,89 > meaning exchange '.' and ','. > > > > * There is no secure 'temp' char, meaning that > > > s.replace(s1,temp).replace(s2,s1).replace(temp,s2) > > > will fail because any char can be part of s. > > The use of a temp char for marking places of one the chars to be swapped is a > common trick. But if the text can contain any char (even chr(0)), then there > no > char you can safely use as temp. > The only workaround I know is to pass through lists. Then swap on the list, > using eg None as temp item, and glue back the result to a string. But you > need > them a replace method on lists, hence my previous question ;-) > > > > * Either s1 or s2 can be more than a single char. > > More difficult, cause you cannot simple list() the string. It must split on > s1 > and s2, but keeping the delimiters! There is no option afaik for that in > string.split -- too bad! So that you must split it manually at start and end > of > each instance of s1 and s2. Or there are other algorithms I cannot figure > out. > What I was asking for. > > > Sorry you lost me there. No idea what you mean. > > > Sorry, me! > > > Alan G. > > denis > ------ > la vita e estrany
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor