On 10/10/2007 8:19 PM, Shriphani wrote: > Hello all, > > Let us say I have a function like this: > > def efficientFiller(file): > worthless_list = [] > pot_file = open(file,'r') > pot_file_text = pot_file.readlines() > for line in pot_file_text: > if line.find("msgid") != -1: > message_id = shlex.split(line)[1] > if message_id in dictionary: > number = pot_file_text.index(line) > corresponding_crap = > dictionary.get(message_id) > final_string = 'msgstr' + " " + '"' + > corresponding_crap + '"' + '\n' > pot_file_text[number+1] = final_string > yield pot_file_text > > efficient_filler = efficientFiller("libexo-0.3.pot") > new_list = list(efficient_filler) > print new_list > > > > I want to plainly get the last value the yield statement generates. > How can I go about doing this please? >
I don't think that 'efficient' and 'plainly' mean what you think they mean. However to answer your question: new_list[-1] if new_list else None BTW I get the impression that the yield statement yields the whole pot_file_text list each time, so that new_list will be a list of lists; is that intentional? -- http://mail.python.org/mailman/listinfo/python-list