def _process_args_as_rows_or_columns(self, arg, unpack=False):
flags = set()<EOL>if isinstance(arg, (tuple, list, numpy.ndarray)):<EOL><INDENT>if isstring(arg[<NUM_LIT:0>]):<EOL><INDENT>result = arg<EOL><DEDENT>else:<EOL><INDENT>result = arg<EOL>flags.add('<STR_LIT>')<EOL><DEDENT><DEDENT>elif isstring(arg):<EOL><INDENT>result = arg<EOL><DEDENT>elif isinstance(arg, slice):<EOL><INDENT>if unpack:<EOL><INDENT>flags.add('<STR_LIT>')<EOL>result = self._slice2rows(arg.start, arg.stop, arg.step)<EOL><DEDENT>else:<EOL><INDENT>flags.add('<STR_LIT>')<EOL>flags.add('<STR_LIT>')<EOL>result = self._process_slice(arg)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>result = arg<EOL>flags.add('<STR_LIT>')<EOL>if numpy.ndim(arg) == <NUM_LIT:0>:<EOL><INDENT>flags.add('<STR_LIT>')<EOL><DEDENT><DEDENT>return result, flags<EOL>
We must be able to interpret the args as as either a column name or
row number, or sequences thereof.  Numpy arrays and slices are also
fine.

Examples:
    'field'
    35
    [35,55,86]
    ['f1',f2',...]
Can also be tuples or arrays.