У меня есть список словарей, и у меня есть решение, описанное ниже:
[{"A1":"B1", "C1":"D1"},{"A2":"B2", "C2":"D2"},....]
Ожидаемый вывод будет словарь, подобный этому
{
"B1":"D1",
"B2":"D2",
...
}
Моя текущая процедура получить один словарь и создать 2 записи в единственном
ввод:
{"A1":"B1", "C1":"D1"}
вывод:
{"B1":"D1"}
где «A1» и «C1» находятся внутри моего настраиваемого метода:
def method(input_dictionary, default_key_from_dict, default_value_from_dict):
single_dictionary[input_dictionary[default_key_from_dict]] = input_dictionary[default_value_from_dict]
позже я выполняю следующие:
def function(dict_list):
single_key_value_dictionary_list = list(map(convert_two_entries_dictionary_to_one_by_value, dict_list))
global_dict = reduce(lambda a, b: dict(a, **b), single_key_value_dictionary_list)
return global_dict
Я спрашиваю себя, есть ли какое-нибудь лучшее решение для этого у меня есть идея генератора, но я не уверен, стоит ли об этом думать? Любые замечания по этому поводу?
ОБНОВЛЕНИЕ В каждой записи списка в качестве словаря есть только 2 ключа. Только 2 ключа.
BR Питер