diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index 6bef7fd..d796c04 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -71,12 +71,71 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "21625526-3fae-4c55-bab5-f91940070681", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "input = [[18,20], [45,2], [61, 12], [37,6], [21,21], [78, 9]]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3e44e35d", + "metadata": {}, + "outputs": [], + "source": [ + "def croquet_club_membership(list):\n", + " list_membership = []\n", + " for n in list:\n", + " if n[0] >= 55 and n[1]> 7:\n", + " list_membership.append(\"Senior\")\n", + " else:\n", + " list_membership.append(\"Open\")\n", + " return list_membership" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4a2b560e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Open', 'Open', 'Senior', 'Open', 'Open', 'Senior']" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#List comprehesion:\n", + "[\"Senior\" if (n[0]>=55 and n[1]>7) else \"Open\" for n in input]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1daf9c4f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Open', 'Open', 'Senior', 'Open', 'Open', 'Senior']\n" + ] + } + ], + "source": [ + "result = croquet_club_membership(input)\n", + "print(result)" ] }, { @@ -95,12 +154,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "53061dce-7aa3-4476-8b56-71413c5e135c", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "def multiples_3_5(number):\n", + " multiples=[]\n", + " if number < 0:\n", + " return 0 \n", + " for i in range(number):\n", + " if i % 3 == 0 or i % 5 == 0:\n", + " multiples.append(i)\n", + " return sum(multiples)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "7b818a7f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "23\n", + "78\n", + "0\n" + ] + } + ], + "source": [ + "print(multiples_3_5(10))\n", + "print(multiples_3_5(20))\n", + "print(multiples_3_5(-6))" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1b1deaa4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "23\n" + ] + } + ], + "source": [ + "number = 10 \n", + "\n", + "if number < 0:\n", + " total = 0\n", + "else:\n", + " total = sum([n for n in range(number) if n%3 == 0 or n%5 == 0])\n", + "\n", + "print(total)" ] }, { @@ -127,12 +241,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "a8cb1579-7065-4fc0-bd53-f91c2ad1dad9", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "example = 8675309\n", + "\n", + "def non_negative_number(number):\n", + " list_number = []\n", + " if number >= 0:\n", + " for i in str(number):\n", + " list_number.append(int(i))\n", + " return list_number" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "74866ee4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[8, 6, 7, 5, 3, 0, 9]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#list comprehension\n", + "[int(i) for i in str(example)] if example >=0 else []" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "64285494", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[8, 6, 7, 5, 3, 0, 9]\n" + ] + } + ], + "source": [ + "result = non_negative_number(example)\n", + "print(result)" ] }, { @@ -155,12 +318,62 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "86ebe759-76d8-4012-8590-c48a473a6099", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "def invert(list):\n", + " val = []\n", + " for x in list:\n", + " val.append(-x)\n", + " return val" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c5628e82", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[-1, -2, -3, -4, -5]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "invert([1,2,3,4,5])" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "9b80e9c3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[-1, 2, -3, 4, -5]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#list comprehension \n", + "example = [1,-2,3,-4,5]\n", + "\n", + "val = [-x for x in example]\n", + "val" ] }, { @@ -193,12 +406,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "6711881b-450a-44cb-a3d0-367b2c6a4464", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{1: 1,\n", + " 2: 4,\n", + " 3: 9,\n", + " 4: 16,\n", + " 5: 25,\n", + " 6: 36,\n", + " 7: 49,\n", + " 8: 64,\n", + " 9: 81,\n", + " 10: 100,\n", + " 11: 121,\n", + " 12: 144,\n", + " 13: 169,\n", + " 14: 196,\n", + " 15: 225}" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "squares = {x: x**2 for x in range(1,16)}\n", + "squares" ] }, { @@ -220,12 +460,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "a1d55cea-96c3-4853-8220-17c0904a8816", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "list1 = [1,2]\n", + "list2 = [3,4]\n", + "\n", + "final_list = [(i,j) for i in list1 for j in list2]" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "d878af63", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(1, 3), (1, 4), (2, 3), (2, 4)]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final_list" ] }, { @@ -246,12 +511,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "0175239c-87fa-4ba0-8776-d62567256db7", "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "dict_5 = {\"a\":[1,2], \"b\": [3,4]}\n", + "\n", + "list_5 = [(key, x) for key, value in dict_5.items() for x in value]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "e70347d3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('a', 1), ('a', 2), ('b', 3), ('b', 4)]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_5" ] }, { @@ -281,12 +571,63 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "248918d0-f082-40a8-9d5c-c7b4ffd2bfca", "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\ninput_data = [([1, 2], [3, 4]), ([5, 6], [7, 8])]\\n\\nresult = []\\nfor list1, list2 in input_data:\\n for x in list1:\\n for y in list2:\\n result.append((x,y))\\n'" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code goes here\n", + "\"\"\"\n", + "input_data = [([1, 2], [3, 4]), ([5, 6], [7, 8])]\n", + "\n", + "result = []\n", + "for list1, list2 in input_data:\n", + " for x in list1:\n", + " for y in list2:\n", + " result.append((x,y))\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "input_data = [([1, 2], [3, 4]), ([5, 6], [7, 8])]\n", + "result = [(x,y) for list1, list2 in input_data for x in list1 for y in list2]" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "9033cd0c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(1, 3), (1, 4), (2, 3), (2, 4), (5, 7), (5, 8), (6, 7), (6, 8)]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result" ] }, { @@ -313,13 +654,53 @@ "metadata": {}, "outputs": [], "source": [ - "# your code goes here" + "# your code goes here\n", + "\"\"\"\n", + "data = [\"ab\", \"cd\"]\n", + "set1 = set()\n", + "\n", + "for s1 in data[0]:\n", + " for s2 in data[1]:\n", + " set1.add((s1,s2))\n", + "\"\"\"" ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "55fbeb88", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')}" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = [\"ab\", \"cd\"]\n", + "\n", + "set1 = {(s1,s2) for s1 in data[0] for s2 in data[1]}\n", + "set1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "241b43ca", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -333,7 +714,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.10.2" } }, "nbformat": 4,