не используя никаких внешних модулей и только count
, хотя бы некоторая избыточность, используя ДИКТ понимание:
d = {itm:L.count(itm) for itm in set(L)}
Если вам разрешено использовать внешние модули и не нужно реализовывать все по своему усмотрению, вы можно использовать в Python defaultdict
, который поставляется через collections
модуль:
#!/usr/bin/env python3
# coding: utf-8
from collections import defaultdict
word_list = ['hello', 'hello', 'hi', 'hello', 'hello']
d = defaultdict(int)
for word in word_list:
d[word] += 1
print(d.items())
Давать вам:
dict_items([('hi', 1), ('hello', 4)])
EDIT: Как указано в комментариях вы можете использовать Counter
подобное, что было бы проще:
#!/usr/bin/env python3
# coding: utf-8
from collections import Counter
word_list = ['hello', 'hello', 'hi', 'hello', 'hello']
c = Counter(word_list)
print(c)
Давать вам:
Counter({'hello': 4, 'hi': 1})
ты слышал о 'Counter'? –
Это, вероятно, не в духе домашней работы. – TigerhawkT3
Вам нужно будет показать нам некоторую попытку решить это, так как SO не является службой завершения домашней работы. – TigerhawkT3