Преобразование списка в словарь с парами ключ-значение - PullRequest
0 голосов
/ 14 января 2019

У меня есть список Python в форме

scores = [' "abc":1, "xyz":"2", "def":3 ']

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

scores_dict = { "abc":1, "xyz":"2", "def":3 }

Я хотел бы получить возможность извлекать scores_dict ["abc"] = 1 и т. Д.

Я сослался на ссылку ниже и попробовал несколько примеров, но я застрял:

Список преобразования Python в словарь со значением ключа

scores_dict = dict.fromkeys(scores, 1)
print(scores_dict["abc"])

dict_comp = {k.strip():v.strip() for k,v in zip(scores[0].split(','), scores[1].split(','))}
print(dict_comp)

def score_parser(scores):
    row = scores.split(',')
    network.append(row)
    return network

Ответы [ 3 ]

0 голосов
/ 14 января 2019

Вы можете использовать json:

import json

scores = [' "abc":1, "xyz":"2", "def":3 ']

scores_dict = json.loads('{' + scores[0] + '}')

Выход:

{'abc': 1, 'xyz': '2', 'def': 3}
0 голосов
/ 14 января 2019

если вы измените свой список следующим образом:

scores = [["abc", 1], ["xyz", 2], ["def", 3]]

Вы сможете использовать dict ()

dict_scores = dict(scores)
0 голосов
/ 14 января 2019

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

scores_dict = {}
for thing in scores:
    thing = thing.split(":")
    key = thing[0]
    value = thing[1]
    scores_dict[key] = value
print(scores_dict)

Если это не работает, дайте мне знать (я набрал его на телефоне, так что я надеюсь, что это хорошо)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...