On Sat, 15 Sep 2007 15:56:40 +0200, Arnau Sanchez wrote: > js escribió: > >>> On 9/15/07, Summercool <[EMAIL PROTECTED]> wrote: > >>> in Python... is the method to use ",".join() ? but then it must take >>> a list of strings... not integers... >>> >>> any fast method? > > > print ''.join([str(i) for i in [1,2,3]]) > > It's better to use generator comprehension instead of LC: > > ",".join(str(i) for i in [1, 2, 3])
Really? Why do you say that a generator expression is "better" than a list comprehension? >>> import timeit >>> timeit.Timer("', '.join([str(i) for i in [1,2,3]])", "").repeat() [5.0969390869140625, 4.5353701114654541, 4.5807528495788574] >>> timeit.Timer("', '.join(str(i) for i in [1,2,3])", "").repeat() [11.651727914810181, 10.635221004486084, 10.522483110427856] The generator expression takes about twice as long to run, and in my opinion it is no more readable. So what's the advantage? > Or, if you happen to like the itertools modules: > > from itertools import imap > ",".join(imap(str, [1, 2, 3])) >>> timeit.Timer("', '.join(imap(str, [1,2,3]))", ... "from itertools import imap").repeat() [9.3077328205108643, 8.655829906463623, 8.5271010398864746] Faster than a generator expression, but still pretty slow. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list