Python 3.6
Trying to write a function that returns the common string in a list of strings. Eg.
>>>find_common_string(*['test 1', 'test 2', 'test 3'])
would return
>>>'test '
I tried to prevent it from matching any other strings after the first False returned by equality(iterator) with a StopIteration in the generator expression
Can this be done? I get:  #comparing a few long strings
TypeError: sequence item 130: expected str instance, type found
This is the code:
def equality(iterator):
    iterator = iter(iterator)
    try:
        first = next(iterator)
    except StopIteration:
        return True
    return all(first == rest for rest in iterator)
def find_common_string(*strings):
    result = zip(*strings)      
    result = (i[0] if equality(i) else StopIteration for i in result)
    return ''.join(result) #I tried to use this ^
References: check if all elements in a list are identical
 
     
    