On Fri, 06 Feb 2009 03:03:01 -0000, Vincent Davis
<vinc...@vincentdavis.net> wrote:
Is it correct that if I want to return multiple objects from a function I
need to in some way combine them?
def test1():
a = [1,3,5,7]
b = [2,4,6,8]
c=[a,b]
return a, b # this does not work?
return [a, b] # does not work?
return c # this works but I don't like it, , is there a better way?
Strictly speaking, you can only return one object from a function.
However,
that one object can be a container (list, tuple, dict, set, or what have
you) that contains multiple objects. Tuples are a popular choice:
return a, b
...but almost any ordered type would do, because you can automagically
unpack the results if you want to:
x, y = test1()
(You might be expecting brackets around the "a, b" and the "x, y", and
you'd be sort of right. The brackets (parentheses) for tuples are
optional, except for a couple of cases where you *have* to put them
in to avoid ambiguity. I tend to put them in always, but leaving them
out in cases like this seems to be normal practice.)
--
Rhodri James *-* Wildebeeste Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list