Two strings ```a``` and b are called isomorphic if there is a one to one mapping possible for every character of ```a``` to every character of ```b```. And all occurrences of every character in ```a``` map to same character in ```b```.

## Task

In this kata you will create a function that return ```True``` if two given strings are isomorphic to each other, and ```False``` otherwise. Remember that order is important.

Your solution must be able to handle words with more than 10 characters.

## Example
True:
```
CBAABC DEFFED
XXX YYY
RAMBUNCTIOUSLY THERMODYNAMICS
```

False:
```
AB CC
XXY XYY
ABAB CD
```

Difficulty: EASY
Starter code: def isomorph(a, b):
	

Solutions:
def isomorph(a, b):
	return [a.index(x) for x in a] == [b.index(y) for y in b]


from itertools import zip_longest

def isomorph(a, b):
	return len(set(a)) == len(set(b)) == len(set(zip_longest(a, b)))


def isomorph(s, t):
	if len(s) != len(t):
		return False
	p = set(zip(s, t))
	return all((len(p) == len(set(c)) for c in zip(*p)))


def isomorph(a, b):
	return len(a) == len(b) and len(set(a)) == len(set(b)) == len(set(zip(a, b)))


def isomorph(a, b):
	normalize = lambda s: [s.index(c) for c in s]
	return normalize(a) == normalize(b)


def isomorph(a, b):
	return len(a) == len(b) and a.translate(str.maketrans(a, b)) == b and (b.translate(str.maketrans(b, a)) == a)


def isomorph(a, b):
	return [a.index(h) for h in a] == [b.index(g) for g in b]


from collections import defaultdict

def isomorph(a, b):
	print(a, b)
	(da, db) = (defaultdict(list), defaultdict(list))
	for i in range(len(a) == len(b) and len(a)):
		if da[a[i]] != db[b[i]]:
			return False
		da[a[i]].append(i)
		db[b[i]].append(i)
	return bool(da)


def isomorph(a, b):
	if len(a) != len(b):
		return False
	st = {}
	for i in range(len(a)):
		if a[i] not in list(st.keys()) and b[i] in list(st.values()):
			return False
		if a[i] not in list(st.keys()) and b[i] not in list(st.values()):
			st[a[i]] = b[i]
		elif st[a[i]] != b[i]:
			return False
	return True


def isomorph(a, b):
	print((a, b))
	if len(a) != len(b):
		return False
	m = {}
	r = {}
	for (i, c) in enumerate(a):
		if c in m:
			if b[i] != m[c]:
				return False
		else:
			m[c] = b[i]
		if b[i] in r:
			if c != r[b[i]]:
				return False
		else:
			r[b[i]] = c
	print('True')
	return True