A Python3 annoyance; zip() now returns an Iterable, not a list. That means you can’t easily slice it.
In Python 2, this idiom for getting back the first column of a database query was useful:
cur.execute('select ...') r = cur.fetchall() firstColumn = zip(*r)
In Python 3, this gives you an error
TypeError: 'zip' object is not subscriptable
The workaround is to wrap the zip in a tuple or list
r = cur.fetchall() firstColumn = tuple(zip(*r))
Annoying, but it doesn’t actually run any slower. I imagine you could use
itertools.islice() to produce an iterator view of a slice of the zip iterator.