Attached is a patch that modifies Base.itemgetter such that it accepts an array-like as a parameter. The semantics in that case is that the resulting function returns an array of the corresponding attributes of the object.
>>> var o = {a: 1, b: 2, c: 4, d: -1};
>>> itemgetter(['a', 'c', 'd'])(o)
[1, 4, -1]
The typical use case is when you have an array of homogeneous objects, one can easily turn that into a table of selected properties with
map(itemgetter(['firstname', 'lastname', 'phone']), listOfPersonObjects);
The patch also adds some tests for itemgetter, which was not covered before.