Pirates have notorious difficulty with enunciating. They tend to blur all the letters together and scream at people.

At long last, we need a way to unscramble what these pirates are saying.

Write a function that will accept a jumble of letters as well as a dictionary, and output a list of words that the pirate might have meant.

For example:
```
grabscrab( "ortsp", ["sport", "parrot", "ports", "matey"] )
```

Should return `["sport", "ports"]`.

Return matches in the same order as in the dictionary. Return an empty array if there are no matches.

Good luck!

Source: codewars | Difficulty: EASY
Tags: String algorithms

Starter code: def grabscrab(word, possible_words):
	

Solutions:
def grabscrab(said, possible_words):
	return [word for word in possible_words if sorted(word) == sorted(said)]


from collections import Counter

def grabscrab(word, possible_words):
	ws = Counter(word)
	return [s for s in possible_words if Counter(s) == ws]


def grabscrab(word, possible):
	sw = sorted(word)
	return [w for w in possible if sorted(w) == sw]


def grabscrab(w, pw):
	return [i for i in pw if all((w.count(j) == i.count(j) for j in w))]


grabscrab = lambda w, l: [p for p in l if sorted(p) == sorted(w)]


def grabscrab(word, possible_words):
	srch = sorted(word)
	ans = [e for e in possible_words if sorted(e) == srch]
	return ans


def grabscrab(word, possible_words):
	ws = sorted(word)
	return [w for w in possible_words if sorted(w) == ws]


def grabscrab(word, possible_words):
	result = []
	for possible_word in possible_words:
		if len(possible_word) == len(word):
			if False not in [c in word for c in possible_word] and [False for c in possible_word if possible_word.count(c) == word.count(c)]:
				result.append(possible_word)
	return result


def grabscrab(word, possible_words):
	s = sorted(word)
	l = len(word)
	return [w for w in possible_words if len(w) == l and sorted(w) == s]


def grabscrab(word, possible_words):
	return [wd for wd in possible_words if sorted(word) == sorted(wd)]