def _allSame(xs):
	"""allSame([x]) -> x0 == x1 == .. == xn"""
	
	#"""    ## for short xs:
	xs = tuple(xs)
	return not xs or xs.count(xs[0]) == len(xs)
	#"""
	"""    ## for looong xs:
	xs = iter(xs)
	
	try:
		p = next(xs)
	
	except StopIteration:
		return True
	
	return all(p == x for x in xs)
	"""

def equivalent(*iterables, keyfunc=lambda x:x):
	return all(map(_allSame, zip(*map(keyfunc, iterables))))

###########################

from functools import partial

isVowel = set('AЕЁИОУЫЭЮЯаеёиоуыэюя').__contains__

print('equivalent "ололо", "ороро" ->',
	equivalent("ололо", "ороро", keyfunc=partial(map, isVowel))
	# >>> True
)
print('equivalent "ололо", "ороро", "битард" ->',
	equivalent("ололо", "ороро", "битард", keyfunc=partial(map, isVowel))
	# >>> False
)

from itertools import groupby

def deltaCV(cs):
	for c, _ in groupby(map(isVowel, cs)):
		yield c

print('equivalent "ололо", "ороро", "ооооллоло" ->',
	equivalent("ололо", "ороро", "ооооллоло", keyfunc=deltaCV)
	# >>> True
)
print('equivalent "ололо", "ороро", "трооооллоло" ->',
	equivalent("ололо", "ороро", "трооооллоло", keyfunc=deltaCV)
	# >>> False
)