This is an interesting alternative. If one wants to generate everything and return it at one shot, the list approach is better, but there are situations where generating things incrementally is preferrable, e.g., because the caller doesn't know a priori how many things he wants. I will try this out.

Thanks!

Jack Norton wrote:
Dr. Phillip M. Feldman wrote:
I currently have a function that uses a list internally but then returns the
list items as separate return
values as follows:

if len(result)==1: return result[0]
if len(result)==2: return result[0], result[1]

(and so on).  Is there a cleaner way to accomplish the same thing?
How about using yield and then iterate over the answer:

def some_fun():
\t    for result in some_loopable_stuff:
\t\t         yield result

Then call it thusly:

for i in some_fun()
  result = i

-Jack (PS, sorry to the OP, you will get two of these -- I forgot to CC the list)


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to