On Fri, Nov 2, 2012 at 1:12 AM, Ethan Furman <et...@stoneleaf.us> wrote: > In other words, the slice contains the strings, and my code calculates > the offsets -- Python doesn't do it for me.
That's correct, but you're still translating those strings into numeric indices. You can slice a database record based on column names (though personally I would recommend against it - creates too much dependence on column order, which I prefer to treat as non-significant), but you can't, for instance, slice a dictionary by keys: foo = {"asdf":123,"qwer":234,"zxcv":345,"1234":456} foo["qwer":"1234"] # What should this return? I suppose conceptually you could slice any iterable by discarding till you match the start, then yielding till you match the stop, then returning (it'd function like itertools.islice but using non-numeric indices - somehow). But it still depends on there being a dependable order. (Incidentally, isinstance(X, (str, unicode)) can become isinstance(X, basestring) - they both inherit from that.) ChrisA -- http://mail.python.org/mailman/listinfo/python-list