У меня есть два входных наборов данных один является список (песни1), содержащий список словарей с ключами и подсчета значений,вложенного словаря генерации на основе значений из других словарей
list1 = [{u'key': u'1', u'count': 2}, {u'key': u'2', u'count': 1}, {u'key': u'3', u'count': 5}]
и другой является словарь (dict1) с номерами (строка) в качестве ключа и строки состояния в качестве значений.
dict1 = {'1': "status1", '2': "status2", '3': "status3"}
Мне нужно создать словарь что-то вроде этого { «status_string»: { «подсчет»: «», «процент»: «»}}, где отсчет рассчитывается на основе значения ключа из соответствующего Dict в списке1. например, для ключа == 1 мы получаем счет == 2. И процент рассчитывается на основе предыдущих значений счета состояния, начиная с total_count, см. желаемый результат ниже для процентов.
Желаемая выход
result = {
"status1": {
"count": {
"value_from_list1_where_key = 1"
},
"percent": {
"(last_calculated_count/total_count)"
}
},
"status2": {
"count": {
"value_from_list1_where_key = 2"
},
"percent": {
"(last_calculated_count/status1_count)"
}
},
"status3": {
"count": {
"value_from_a_list_where_key = 3"
},
"percent": {
"(last_calculated_count/status2_count)"
}
}
}
Пример выше образца:
list1 = [{u'key': u'1', u'count': 2}, {u'key': u'2', u'count': 1}, {u'key': u'3', u'count': 5}]
dict1 = {'1': "status1", '2': "status2", '3': "status3"}
total_count = 10 #any integer value
result = {"status1": {"count": 2, "percent": 2/10},
"status2": {"count": 1, "percent": 1/2},
"status3": {"count": 5, "percent": 5/1}}
я в состоянии, чтобы получить желаемый ответ, нормальный цикл по списку словарей, а затем положить, если/else, чтобы проверить и сгенерировать результат, но я не найду его очень pythonic. Может ли кто-нибудь предложить, какой лучший/питонический способ достичь того же?
list1 не очень pythonic. Это в основном список пар ключ: значение (который, по вашему мнению, должен идти в dict). Вы хотите, чтобы pythonic перепроектировал структуры данных, или питоновский способ повторить их AS-IS? –
Привет, Кенни, спасибо за комментарий .... Фактически список1 является результатом одного из запросов агрегирования на поиск эластичных изображений, поэтому я просто его читаю. BTW мы можем изменить в соответствии с требованием ... :) –