Nick Coghlan <ncoghlan at iinet.net.au> writes: > That last sentence isn't quite true. With an appropriate second > argument, sum can be used to sum any sequence (even one containing > strings): > > Py> class additive_identity(object): > ... def __add__(self, other): > ... return other > ... ==> setup > Py> sum(["a"] * 5, additive_identity()) > 'aaaaa' > > This is fairly abusive of sum, though :) Python 2.5a0 (#85, Jan 27 2005, 17:41:04) [GCC 2.95.3 20010125 (prerelease, propolice)] on openbsd3 Type "copyright", "credits" or "license()" for more information. IDLE 1.2a0 Py> t = timeit.Timer("sum(('a','bcd', 'e'), ai())", setup) Py> t.repeat() [3.3861918449401855, 3.2027261257171631, 3.1891348361968994] Py> t2 = timeit.Timer("''.join(('a','bcd', 'e'))") Py> t2.repeat() [1.1249339580535889, 1.1143810749053955, 1.0990779399871826] Py> t3 = timeit.Timer("'a' + 'bcd' + 'e'") Py> t3.repeat() [0.10233211517333984, 0.099857091903686523, 0.10514688491821289] -- KBK
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4