Я пытаюсь получить этот код python, чтобы избавиться от знаков препинания, связанных со словами, и подсчитать уникальные слова. По какой-то причине он по-прежнему считает «привет». и "привет". Любая помощь будет оценена по достоинству.Элемент списка изменения Python в итерации
def word_distribution(words):
word_dict = {}
words = words.lower()
words = words.split()
for word in words:
if ord('a') <= ord(word[-1]) <= ord('z'):
pass
elif ord('A') <= ord(word[-1]) <= ord('Z'):
pass
else:
word[:-1]
word_dict = {word:words.count(word)+1 for word in set(words)}
return(word_dict)
Проблема глубже, чем это, но прежде всего, 'слово [: - 1]' в одиночку ничего не делать, т.к. он не привязан к какой-либо переменной. – Efferalgan
Я использую x = 'Hello My Name is hello.' Я ищу, чтобы получить это из функции-> {'hello': 2, 'is': 1, 'my': 1, 'name': 1} – BRose
Честно говоря, я бы удалил все, что вы написали для отбрасывая пунктуацию и используем решение из этого сообщения: http://stackoverflow.com/questions/265960/best-way-to-strip-punctuation-from-a-string-in-python Для подсчета слов используйте Класс счетчика: https://docs.python.org/2/library/collections.html#collections.Counter –