Уведомления

Группа в Telegram: @pythonsu

#1 Май 6, 2014 14:29:56

ijuve10
Зарегистрирован: 2014-05-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

суммирование по элементам нескольких одинаковых по длине списков

Народ добрый день,
помогите пожалуйста решить одну задачу. Имеется словарь с 4мя ключами и у каждого ключа свой список значений.

d = {0:[283.9479, 284.4606, 284.9723, 285.4850, 284.6315], 600:[280.1367,280.9008,281.0016,287.7985,285.4376], 1200:[283.1635,283.1259,282.9585,281.2583,281.3908], 1800:[278.4559,277.5712,277.3731,276.3103,279.5033]}
Как можно просуммировать элементы между ключами поиндексно. Т.е. сначала сумма значений первых индексов, вторых и т.д.
Выполняю команду
for value in d.values():		
		b = sum(value)
		print b
он мне выдает сумму всех элементов списка каждого ключа.

Отредактировано ijuve10 (Май 6, 2014 14:35:14)

Офлайн

#2 Май 6, 2014 15:09:22

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

суммирование по элементам нескольких одинаковых по длине списков

for value in zip(*d.values()):
    print(sum(value))

Офлайн

#3 Май 6, 2014 15:11:47

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

суммирование по элементам нескольких одинаковых по длине списков

print (list(map(sum, (zip(*d.values())))))



Офлайн

#4 Май 6, 2014 15:24:46

ijuve10
Зарегистрирован: 2014-05-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

суммирование по элементам нескольких одинаковых по длине списков

dimy44

спасибо огромное. Не могли бы вы только объяснить применение знака * в данном случае? Что он делает в данном случае? Заранее благодарю

Офлайн

#5 Май 6, 2014 15:44:13

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

суммирование по элементам нескольких одинаковых по длине списков

Распаковал список списков d.values() для передачи в zip(…)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version