Многострочный ввод текста в словарь - PullRequest
1 голос
/ 25 мая 2020

Допустим, у меня есть многострочный ввод из текстового файла, который выглядит примерно так:

(empty string here)
1 -30 2 0
3 0 5 10

et c.

Я проанализировал ввод и сформировал список из него:

lst = [[], [(1, -30), (2, 0)], [(3, 0), (5, 10)]]

Предположим, я хочу создать словарь, в котором ключ - это номер строки (начиная с 1), а значение - это вложенный словарь, который содержит первый элемент кортежа как ключ, а второй в качестве значения:

**lst -> dict:**
dict = {'1': {}, '2': {1: -30, 2: 0}, '3': {3: 0, 5: 10}}

Какой лучший (pythoni c) способ сделать это? Провел пару часов, пытаясь это сделать. Спасибо!

1 Ответ

1 голос
/ 25 мая 2020
lst = [[], [(1, -30), (2, 0)], [(3, 0), (5, 10)]]

print( {str(i): dict(v) for i, v in enumerate(lst, 1)} )

Печать:

{'1': {}, '2': {1: -30, 2: 0}, '3': {3: 0, 5: 10}}
...