Как сделать словарь из текстового файла книги без использования Json? - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть текстовый файл, который содержит стихотворение в этом формате.

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

Моя цель - создать словарь и присвоить ключ каждой строке стихотворения.

Например:

content = {1: «Она говорит, что мои волосы пахнут», 2: «как кукурузные лепешки».} `И т. Д. C

Мне написали этот код:

with open("dictionaries/questions.txt", "r") as f:
d_black = {}
key = 0
for line in f:
    x = line.split("\n")
    d_black[key] = x
print(d_black)

Но по какой-то причине он создает дополнительную пустую строку "" и список. Вот вывод, который я получаю:

{0: ["She says my hair smells", '']}

У вас есть идеи, как это исправить?

Спасибо.

1 Ответ

0 голосов
/ 03 ноября 2018

Когда вы используете функцию split(), она возвращает список элементов, поэтому вы видите список.

Вы можете использовать Dictionary Comprehension для этого:

with open('somefile.txt') as f:
    result = {k:v.split('\n')[0] for k,v in enumerate(f)}
    print(result)
    [Output]: {0: 'She says my hair smells', 1: 'like corn tortillas.', 2: 'I raise an eyebrow.', 3: 'After all those honeysuckle', 4: 'and papaya shampoos'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...