Дубликат ключа в словаре из списка - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть список, который предоставляет значения для словаря. Однако ключ дублируется, поэтому в результате в словаре сохраняется только последнее значение.

Например, у меня есть следующее:

word='HOUSE'
classification=['NOUN','VERB']
dictionary= {}

for element in classification:
    dictionary= {
                 'word':word,
                 'classification':element
                 }

Этот код просто сохраняет этот вход:

{'word': 'HOUSE', 'classification': 'VERB'}

Как я могу получить классификацию NOUN? Я пробовал defaultdict, но я не смог заставить его работать:

data_dict = defaultdict(list)

for element in classification:
    dictionary[word].append(word)
    dictionary[classification].append(element)

Спасибо за вашу помощь

1 Ответ

1 голос
/ 28 февраля 2020

Ключ в списках должен быть уникальным. Поэтому, когда вы пытаетесь присвоить более одного значения одному и тому же ключу, он сохраняет последнее значение. Может быть, вы можете сопоставить ключ со списком. Например.

word='HOUSE'
classification=['NOUN','VERB']
dictionary= {}

dictionary['word'] = word
dictionary['classification'] = classification

вывод будет следующим:

>>>print(dictionary)
>>>{'word': 'HOUSE', 'classification': ['NOUN', 'VERB']}

, если вам нужен какой-либо элемент

>>>dictionary['classification'][0]
>>>'NOUN'
...