В python, как мне создать словарь всех уникальных слов, перечисленных в текстовом файле. Пока у меня есть этот код. Спасибо - PullRequest
0 голосов
/ 12 июля 2020
def getUniqueWords(wordsList) :
    """
    Returns the subset of unique words containing all of the words that are presented in the
    text file and will only contain each word once. This function is case sensitive
    """
    uniqueWords = {}
    for word in speech :
        if word not in speech:
            uniqueWords[word] = []
    uniqueWords[word].append(word)    
        

Ответы [ 2 ]

0 голосов
/ 13 июля 2020
text = 'a, a, b, b, b, a'

u = set(text.split(', '))

# u={'a', 'b'}
0 голосов
/ 13 июля 2020

Предполагая, что вы передаете чистый список слов в getUniqueWords(), вы всегда можете вернуть set списка, который из-за свойств набора удалит дубликаты.

Попробуйте:

def getUniqueWords(wordsList):
  return set(wordsList)

Примечание. Когда вы вводите вопросы, вы используете markdown, заключая свой код в обратные галочки, это делает форматирование приятным для серого поля. Одиночная отметка делает поле встроенным like this, а три обратных галочки с языком вверху дают поле.

Изменить: Чтобы помочь с вашим комментарием

Вы можете сделайте то, что делает вызов set() из списка, но вручную:

wordList = ['b', 'c', 'b', 'a', 'd', 'd', 'f']

def getUniqueWords(wordList):
    unique = set()
    for word in wordList:
        unique.add(word)
    return unique

print(getUniqueWords(wordList))

Это то, что делает вызов set() на list. Кроме того, использование встроенных функций в открытом вопросе (без указания метода) является глупым дополнением к любому вопросу, особенно , когда вы используете python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...