ssecorp wrote: > def str_sort(string): > s = "" > for a in sorted(string): > s+=a > return s > > > if i instead do: > > def str_sort(string): > s = "" > so = sorted(string) > for a in so: > s+=a > return s > > > will that be faster or the interpreter can figure out that it only has > to do sorted(string) once? or that kind of cleverness is usually > reserved for compilers and not interpreters?
There isn't much cleverness involved here - why on earth should one execute the sorted(string) several times? The for <name> in <iterable_yielding_expression> construct will evaluate the <iterable_yielding_expression> of course only once. Diez -- http://mail.python.org/mailman/listinfo/python-list