У меня есть словарь data
, который выглядит так со значениями выборки:значения Сумма в кортеже (значения в Словаре)
defaultdict(<type 'list'>,
{(None, 2014): [(5, 1), (10, 2)],
(u'Middle', 2014): [(6, 2), (11, 3)],
(u'SouthWest', 2015): [(7,3), (12, 4)]})
я получаю это от collections.defaultdict(list)
, потому что мои ключи должны быть перечислены.
Моя цель - получить новый словарь, который будет содержать значения сумм для каждого кортежа относительно их положения в кортеже.
Выполнив
out = {k:(sum(tup[0] for tup in v),sum(tup[1] for tup in v)) for k,v in data.items()}
Я получаю
{(None, 2014): (15, 3), (u'Middle', 2014): (17, 5), (u'SouthWest', 2015): (19, 7)}
Однако, я не знаю заранее, сколько элементов будет в каждом наборе, поэтому с помощью sum(tup[0] for tup in v)
с жестко закодированными индексов не вариант. Я знаю, однако, сколько целых чисел будет в кортеже. Это значение является целым числом, и я получаю это вместе с data
dict. Все кортежи всегда имеют одинаковую длину (в этом примере длина 2).
Как сообщить Python, что я хочу, чтобы out
dict содержал кортеж размера, который соответствует длине, которую я должен использовать?