It can be executed on one line with the next generator. The call to "anyone" is just that the generator is consumed, and therefore the expressions in it are executed.
any(lst.append(item) for lst,item in zip((one_array, two_array), two_outputs()))
NB. I do not recommend this programming style - reading becomes more difficult. Probably, if there is an idiom too frequent, I would write a short helper function for assignment:
def multi_append(lists, multi_function, *args, **kw): for lst, result in zip(lists, multi_function(*args, **kw)): lst.append(result)
And on the "body" of the code, simply write:
multi_append((array_one, array_two), two_outputs)
For completeness, I am adding a sentence that allows you to use the assignment operator.
In this case, you must create your own List object that has a property that performs the addition. Creating such a class is 2 liners, but then it lists in your code should be from this class:
class MList(list): last = property(lambda s:s[-1], list.append) array_one, array_two = MList(), MList() array_one.last, array_two.last = two_outputs()