diff --git a/lab-python-lambda-map-reduce-filter.ipynb b/lab-python-lambda-map-reduce-filter.ipynb index 96c9781..1b1de34 100644 --- a/lab-python-lambda-map-reduce-filter.ipynb +++ b/lab-python-lambda-map-reduce-filter.ipynb @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "08463071-9351-4d49-8d29-4fcb817fb177", "metadata": {}, "outputs": [], @@ -94,12 +94,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "0781335d-39cf-403d-b86a-ca908a09fe55", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "debits = (list(filter(lambda transaction: transaction[1]=='debit',transactions)))" ] }, { @@ -124,12 +124,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "25073469-7258-4fc6-b0a0-ef8ea57688fe", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[(-100, 'debit'), (-250, 'debit'), (-300, 'debit'), (-850, 'debit'), (-1200, 'debit')]\n" + ] + } + ], "source": [ - "# your code goes here" + "sort_descending = lambda t:t[0]\n", + "debits_sorted = sorted(debits, key=sort_descending, reverse=True)\n", + "print(debits_sorted)" ] }, { @@ -158,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "e1de9d03-f029-4e2e-9733-ae92e3de7527", "metadata": {}, "outputs": [], @@ -169,12 +179,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "2f253b7e-5300-4819-b38f-9fc090554f51", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[105.0, 52.5, -26.25, 1050.0, -10.5]\n" + ] + } + ], "source": [ - "# your code goes here" + "rate = 0.05\n", + "\n", + "balance1year = list(map(lambda x: x*(1+rate),balances))\n", + "print(balance1year)" ] }, { @@ -195,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "69e24c3b-385e-44d6-a8ed-705a3f58e696", "metadata": {}, "outputs": [], @@ -209,12 +230,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "0906a9b0-d567-4786-96f2-5755611b885e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[{'balance': 1020.0, 'interest_rate': 0.02}, {'balance': 2020.0, 'interest_rate': 0.01}, {'balance': 515.0, 'interest_rate': 0.03}]\n" + ] + } + ], "source": [ - "# your code goes here\n" + "balances_1year = list(map(lambda dict: dict['balance']*(1+dict['interest_rate']),accounts))\n", + "accounts1year = list(map(lambda x: {\n", + " 'balance':x['balance']*(1+x['interest_rate']),\n", + " 'interest_rate':x['interest_rate']\n", + " },accounts))\n", + "print (accounts1year)\n" ] }, { @@ -243,14 +277,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "6284dbd3-e117-411e-8087-352be6deaed4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-36.75\n" + ] + } + ], "source": [ "from functools import reduce\n", "\n", - "# your code goes here" + "balances = [100, 50, -25, 1000, -10]\n", + "\n", + "rate = 0.05\n", + "\n", + "balances1year = list(map(lambda x: x*(1+rate),balances))\n", + "\n", + "balances1yearnegative = list(filter(lambda x: x<0,balances1year))\n", + "\n", + "print(reduce(lambda x,y: x+y,balances1yearnegative))" ] }, { @@ -276,7 +326,15 @@ "execution_count": null, "id": "da2264b5-298e-4b45-99df-852b94e90d15", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[650, 1600, 275]\n" + ] + } + ], "source": [ "accounts = [\n", " {'balance': 1000, 'withdrawals': [100, 50, 200]},\n", @@ -284,13 +342,21 @@ " {'balance': 500, 'withdrawals': [50, 100, 75]},\n", "]\n", "\n", - "# your code goes here\n" + "def calculate_balance(account):\n", + " balance = account['balance']\n", + " for withdrawal in account['withdrawals']:\n", + " balance -= withdrawal\n", + " return balance\n", + "\n", + "remaining_balances = list(map(calculate_balance,accounts))\n", + "\n", + "print(remaining_balances)\n" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "venv", "language": "python", "name": "python3" }, @@ -304,7 +370,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.12.2" } }, "nbformat": 4,