CSc 120: Column to List (Recursive)
Expected Behavior
Write a recursive function column2list_rec(grid, n), where
grid is a list of lists and n is an integer, that returns
a list consisting of the element at position n of each row of
grid.
You can assume that 0 ≤ n < len(r)
for each row r (i.e., element) of grid.
Programming Requirements
Solve this problem using recursion. You are allowed to use only
the following programming constructs:
-
if statements;
-
return statements;
-
assignment;
-
recursive function calls (but not to helper functions);
-
comparison operations (==, !=, etc.);
-
list indexing and slicing;
-
list concatenation/extension.
Solutions that go outside these constructs, e.g., by
using for/while loops or list comprehensions,
will not get credit.
Examples
In the examples below, x is assumed to be the following list of lists:
[ [ 'aa', 'bb', 'cc', 'dd' ],
[ 'ee', 'ff', 'gg', 'hh', 'ii', 'jj' ],
[ 'kk', 'll', 'mm', 'nn' ] ]
-
column2list_rec(x,3)
return value: ['dd', 'hh', 'nn' ]
-
column2list_rec(x,0)
return value: [ 'aa', 'ee', 'kk' ]