how to extract columns like awk $1 $5
Carl Banks
invalidemail at aerojockey.com
Sat Jan 8 00:48:22 EST 2005
Roy Smith wrote:
> Hmmm. There's something going on here I don't understand. The ref
> manual (3.3.5 Emulating container types) says for __getitem__(),
"Note:
> for loops expect that an IndexError will be raised for illegal
indexes
> to allow proper detection of the end of the sequence." I expected my
> little demo class to therefore break for loops, but they seem to work
> fine:
>
> >>> import awk
> >>> l = awk.awkList ("foo bar baz".split())
> >>> l
> ['foo', 'bar', 'baz']
> >>> for i in l:
> ... print i
> ...
> foo
> bar
> baz
> >>> l[5]
> ''
>
> Given that I've caught the IndexError, I'm not sure how that's
working.
The title of that particular section is "Emulating container types",
which is not what you're doing, so it doesn't apply here. For built-in
types, iterators are at work. The list iterator probably doesn't even
call getitem, but accesses the items directly from the C structure.
--
CARL BANKS
More information about the Python-list
mailing list