Преобразовать текстовый файл в словарь ключевых строк и целых чисел - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть текстовый файл с числами, такими как

text.file '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9 Я хотел бы преобразовать это в массив следующим образом:

myary= {'1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} но я хочу, чтобы ключи были string , а значения были integer

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

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Если вы не хотите использовать literal_eval

str="'1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9"
print({x[0].replace("'", ""):int(x[1]) for x in [y.split(': ') for y in [z for z in str.split(',')]] })
#{'2': 2, '7': 7, '8': 8, '4': 4, '1': 1, '9': 9, '3': 3, '6': 6, '5': 5}
0 голосов
/ 26 декабря 2018

с использованием ast.literal_eval

import ast
txt = "'1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9"
print (ast.literal_eval('{' + txt + '}'))
#{'1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...