So the return value from getopt.getopt() is a list of tuples, e.g. >>> import getopt >>> opts = getopt.getopt('-a 1 -b 2 -a 3'.split(), 'a:b:')[0]; opts [('-a', '1'), ('-b', '2'), ('-a', '3')]
what's the idiomatic way of using this result? I can think of several possibilities. For options not allowed to occur more than once, you can turn it into a dictionary: >>> b = dict(opts)['-b']; b '2' Otherwise, you can use a list comprehension: >>> a = [arg for opt, arg in opts if opt == '-a']; a ['1', '3'] Maybe the usual idiom is to iterate through the list rather than using it in situ... >>> a = [] >>> b = None >>> for opt, arg in opts: ... if opt == '-a': ... a.append(arg) ... elif opt == '-b': ... b = arg ... else: ... raise ValueError("Unrecognized option %s" % opt) Any of the foregoing constitute The One Way To Do It? Any simpler, legible shortcuts? Thanks. -- http://mail.python.org/mailman/listinfo/python-list