Я в настоящее время борюсь с заданием.Решение будет вводить текстовый файл и выполнять подсчет числа палиндромов и их частоты.Мне нужно использовать Map Reduce для создания
Например: строка "bab bab bab cab cac dad" выдаст:
bab 3
cab 1
dad 1
Вот то, что я имею до сих пор
def palindrome(string):
palindromes = []
for word in string.split(" "):
if (word == word[::-1]):
palindromes.append(word)
return palindromes
string = "abc abd bab tab cab tat yay uaefdfdu"
print map(lambda x: palindrome(x), ["bab abc dab bab bab dad crap pap pap "])
В настоящее время печатает
[['bab', 'bab', 'bab', 'dad', 'pap', 'pap', '']]
Вот моя попытка в секции уменьшения
def p(lists):
for list in lists:
set_h = set(list)
return set_h
с помощью функции p. Я хочу создать набор всехпалиндромы найдены.Затем запустите подсчет палиндромов в списке и сделайте из этого вывод
print reduce(p, [['bab', 'bab', 'bab', 'dad', 'pap', 'pap', '']])
Я на правильном пути?