Pewget
@Pewget
Программист

Как упростить код?

Приветствую!

Как упростить этот код и сделать его компактнее?
Мне кажется, что есть способ делать такие вещи как-то элегантно, или я ошибаюсь?
Заранее спасибо.

totals = {
    'qty': 0,
    'total_amount': 0,
    'cost': 0,
    'profit': 0,
}

for order in orders:
    totals['qty'] += order.qty
    totals['total_amount'] += order.total_amount
    totals['cost'] += order.cost
    totals['profit'] += order.profit
  • Вопрос задан
  • 2742 просмотра
Решения вопроса 1
@lega
Как то так:
totals = defaultdict(int)
for order in orders:
    for k in ['qty', 'total_amount', 'cost', 'profit']:
        totals[k] += getattr(order, k)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
customtema
@customtema
arint.ru
Можно перебирать свойства в цикле?

Не помню, как это должно быть на питоне, но на PHP как-то так:

foreach ($orders as $order)
{
	foreach ($order as $property => $value)
	{
		$totals[$property] += $value;
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы