Skip to content

Instantly share code, notes, and snippets.

@davebshow
Created April 18, 2017 15:10
Show Gist options
  • Save davebshow/978da33cd5b3b95679d2a2d668e49ed1 to your computer and use it in GitHub Desktop.
Save davebshow/978da33cd5b3b95679d2a2d668e49ed1 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
foo = []
from .models import Expense
from collections import namedtuple
MyExpense = namedtuple('F', ['type_', 'amount'])
# test data
foo.append(MyExpense('food', 4))
foo.append(MyExpense('food', 3))
foo.append(MyExpense('car', 3))
foo.append(MyExpense('dog', 1))
def summarizeExpenses(min_amount, input):
expenses = {}
for expense in input:
if expense.amount >= min_amount:
if not expense.type_ in expenses:
expenses[expense.type_] = 0
expenses[expense.type_] = expenses[expense.type_] + expense.amount
for (expense, amount) in sorted(expenses.items(), key=lambda e: e[1], reverse=False):
print expense.type_, amount
summarizeExpenses(2, foo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment