Форум сайта python.su
0
Написать функцию, которая принимает на вход текст и возвращает слово, которое в этом тексте встречается чаще всего. Регистр не учитывается.
Офлайн
0
def invert(t): return max(t.split(' '), key=lambda x: t.lower().count(x))
Отредактировано OlegRadchenko (Дек. 11, 2017 23:57:49)
Офлайн
857
>>> import collections >>> >>> def f(s): ... counted = collections.Counter(map(str.lower, s.split())) ... out = counted.most_common(1)[0][0] ... return out ... >>> f('abc DEF ghi ABC hij') 'abc' >>>
>>> def f(s): ... dct = {} ... for i in map(str.lower, s.split()): ... dct[i] = dct.get(i, 0) + 1 ... out = max(dct.items(), key=lambda i: i[1])[0] ... return out ... >>> f('abc DEF ghi ABC hij') 'abc' >>>
Отредактировано py.user.next (Дек. 12, 2017 01:54:28)
Офлайн