Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #43609
| References | (2 earlier) <516b49dc$0$29977$c3e8da3$5496439d@news.astraweb.com> <mailman.611.1365986675.3114.python-list@python.org> <516b5471$0$29977$c3e8da3$5496439d@news.astraweb.com> <kkfnun$kpj$1@dont-email.me> <516ba633$0$29872$c3e8da3$5496439d@news.astraweb.com> |
|---|---|
| Date | 2013-04-15 17:39 +1000 |
| Subject | Re: howto remove the thousand separator |
| From | Chris Angelico <rosuav@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.623.1366011573.3114.python-list@python.org> (permalink) |
On Mon, Apr 15, 2013 at 5:03 PM, Steven D'Aprano <steve+comp.lang.python@pearwood.info> wrote: > On Mon, 15 Apr 2013 03:19:43 +0100, Rotwang wrote: > >> On 15/04/2013 02:14, Steven D'Aprano wrote: >>> Strings are immutable. Consider building up a single string from four >>> substrings: >> >> Actually, I believe that CPython is optimised to modify strings in place >> where possible, so that the above would surprisingly turn out to be >> O(n). See the following thread where I asked about this: > > I deliberately didn't open that can of worms, mostly because I was in a > hurry, but also because it's not an optimization you can rely on. It > depends on the version, implementation, operating system, and the exact > code running. > > As far as I'm concerned, the best advice regarding this optimization is: > > - always program as if it doesn't exist; > > - but be glad it does when you're writing quick and dirty code in the > interactive interpreter, where the convenience of string concatenation > may be just too darn convenient to bother doing the right thing. Agreed; that's why, in my reply, I emphasized that the pure Python code IS quadratic, even though the actual implementation might turn out linear. (I love that word "might". Covers myriad possibilities on both sides.) Same goes for all sorts of other possibilities. I wouldn't test string equality with 'is' without explicit interning, even if I'm testing a constant against another constant in the same module - but I might get a big performance boost if the system's interned all its constants for me. ChrisA
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: howto remove the thousand separator Mark Janssen <dreamingforward@gmail.com> - 2013-04-14 12:06 -0700
Re: howto remove the thousand separator Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-15 00:29 +0000
Re: howto remove the thousand separator Mark Janssen <dreamingforward@gmail.com> - 2013-04-14 17:44 -0700
Re: howto remove the thousand separator Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-15 01:14 +0000
Re: howto remove the thousand separator Chris Angelico <rosuav@gmail.com> - 2013-04-15 11:29 +1000
Re: howto remove the thousand separator Walter Hurry <walterhurry@lavabit.com> - 2013-04-15 02:25 +0000
Re: howto remove the thousand separator Roy Smith <roy@panix.com> - 2013-04-14 22:35 -0400
Re: howto remove the thousand separator Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-15 07:04 +0000
Re: howto remove the thousand separator Rotwang <sg552@hotmail.co.uk> - 2013-04-15 03:19 +0100
Re: howto remove the thousand separator Ned Deily <nad@acm.org> - 2013-04-14 22:15 -0700
Re: howto remove the thousand separator Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-04-15 07:03 +0000
Re: howto remove the thousand separator Chris Angelico <rosuav@gmail.com> - 2013-04-15 17:39 +1000
Re: howto remove the thousand separator Rotwang <sg552@hotmail.co.uk> - 2013-04-15 23:16 +0100
csiph-web