Гергана обнови решението на 13.03.2014 20:49 (преди над 10 години)
+import string
+from collections import defaultdict
+from functools import cmp_to_key
+
+ALPHABET = set('абвгдежзийклмнопрстуфхцчшщъьюя')
+
+
+def is_letter(x):
+ return x not in (string.punctuation + string.whitespace)
+
+
+def is_pangram(sentence):
+ return set(filter(is_letter, sentence.lower())) == ALPHABET
+
+
+def char_histogram(text):
+ keys = [char for char in text]
+ values = [text.count(key) for key in keys]
+ return dict(zip(keys, values))
+
+
+def sort_by(func, arguments):
+ return sorted(arguments, key=cmp_to_key(func))
+
+
+def group_by_type(dictionary):
+ result = defaultdict(dict)
+ for key, value in dictionary.items():
+ result[type(key)].update({key: value})
+ return result
+
+
+def is_anagram(word1, word2):
+ return sorted(word1) == sorted(word2)
+
+
+def word_anagrams(word, words):
+ return list(filter((lambda x: is_anagram(x, word)), words))
+
+
+def anagrams(words):
+ return list(map((lambda x: word_anagrams(x, words)), words))
Анаграма е дума или фраза образувана от буквите на друга дума или фраза, чрез пермутация.
- Твоето решение не прави разлика между буква и символ.