Ron Adam wrote: > Alex Martelli wrote: >> Ron Adam <[EMAIL PROTECTED]> wrote: >> ... >>> Considering the number time I sort keys after getting them, It's the >>> behavior I would prefer. Maybe a more dependable dict.sortedkeys() >>> method would be nice. ;-) >> >> sorted(d) is guaranteed to do exactly the same thing as sorted(d.keys()) >> AND to be faster (would be pretty weird if it weren't faster...!). >> >> E.g., ...: >> >> helen:~ alex$ python -mtimeit -s'd=dict(enumerate("tarazoplay"))' >> 'sorted(d.keys())' >> 100000 loops, best of 3: 6.82 usec per loop >> >> helen:~ alex$ python -mtimeit -s'd=dict(enumerate("tarazoplay"))' >> 'sorted(d)' >> 100000 loops, best of 3: 5.98 usec per loop >> >> >> Alex > > > Yes, it did decrease it. And simplified it as well. ;) > > > def psort11(s1, s2): > d = dict(zip(s2, s1)) > assert len(d) == len(s1) > sorted(d) > s1[:] = d.values() >
This probably should be: def psort11(s1, s2): d = dict(zip(s2,s1)) assert len(d) == len(s1) s1[:] = list(d[v] for v in sorted(d)) -- http://mail.python.org/mailman/listinfo/python-list