Я пытаюсь добавить несколько значений для ввода словаря в Python - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь прочитать файл и преобразовать его в словарь. После прочтения я должен взять слово и первый символ слова в качестве ключа, а само слово - в качестве значения.Если появляется другое слово с таким же символом, оно должно добавить значения к самому существующему ключу.

import io 
file1 = open("text.txt")
line = file1.read()
words = line.split()
Dict={}
for w in words:
  if w[0] in Dict.keys():
      key1=w[0]
      wor=str(w)
      Dict.setdefault(key1,[])
      Dict[key1].append(wor)
  else:
    Dict[w[0]] = w
print Dict

1 Ответ

0 голосов
/ 05 февраля 2019

Просто упростил ваш код.Нет смысла иметь условие else при использовании set_default

words = 'hello how are you'.split()
dictionary = {}
for word in words:
    key = word[0]
    dictionary.setdefault(key, []).append(word)
print dictionary

. Чтобы избавиться от set_default, используйте default_dict

from collections import defaultdict
words = 'hello how are you'.split()
dictionary = defaultdict(list)
for word in words:
    key = word[0]
    dictionary[key].append(word)
print dictionary.items()
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...