Как преобразовать строку в словать

Есть строка dic = "{"pos": 7, 4: 5, "go": 2, "tpjc": None}" как её преобразовать в словарь? Пробовал dic = dict(dic) вышла ошибка ValueError: dictionary update sequence element #0 has length 1; 2 is required в интернете ничего не мог найти


Ответы (1 шт):

Автор решения: CrazyElf

Только поменять внешние (или внутренние) кавычки, сейчас у вас код не валидный.

from ast import literal_eval

dic = '{"pos": 7, 4: 5, "go": 2, "tpjc": None}'
dic = literal_eval(dic)
print(type(dic), dic)

Вывод:

<class 'dict'> {'pos': 7, 4: 5, 'go': 2, 'tpjc': None}

Через json обычно лучше, но в данном случае формат не подходящий для него.

→ Ссылка