diff --git a/python_data_structure_exercises.ipynb b/python_data_structure_exercises.ipynb index f1f93ab..ac01a0c 100644 --- a/python_data_structure_exercises.ipynb +++ b/python_data_structure_exercises.ipynb @@ -19,12 +19,28 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[50, 40, 30, 20, 10]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "example_list = [10, 20, 30, 40, 50]\n", - "# Your code here" + "# Your code here\n", + "reversed_list = []\n", + "for i in reversed(example_list):\n", + " reversed_list.append(i)\n", + " \n", + "reversed_list" ] }, { @@ -37,13 +53,27 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['A', 'D', 'B', 'E', 'C', 'F']\n" + ] + } + ], "source": [ "list1 = [\"A\", \"B\", \"C\"]\n", "list2 = [\"D\", \"E\", \"F\"]\n", - "# Your code here" + "# Your code here\n", + "new_list = []\n", + "for i in range(3):\n", + " new_list.append(list1[i])\n", + " new_list.append(list2[i])\n", + "\n", + "print(new_list)" ] }, { @@ -56,12 +86,25 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 4, 9, 16, 25]\n" + ] + } + ], "source": [ "numbers = [1, 2, 3, 4, 5]\n", - "# Your code here" + "# Your code here\n", + "new_list = []\n", + "for i in numbers:\n", + " new_list.append(i**2)\n", + "\n", + "print(new_list)" ] }, { @@ -74,13 +117,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Hello ', 'World ', 'Python', 'Programming']\n" + ] + } + ], "source": [ "list1 = [\"Hello \", \"World \"]\n", "list2 = [\"Python\", \"Programming\"]\n", - "# Your code here" + "# Your code here\n", + "list3 = list1 + list2\n", + "\n", + "print(list3)" ] }, { @@ -93,13 +147,31 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "6\n", + "5\n", + "4\n" + ] + } + ], "source": [ "list1 = [1, 2, 3]\n", "list2 = [4, 5, 6]\n", - "# Your code here" + "# Your code here\n", + "for i in list1:\n", + " print(i)\n", + "\n", + "for i in reversed(list2):\n", + " print(i)" ] }, { @@ -112,12 +184,25 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Alice', 'Bob', 'Charlie']\n" + ] + } + ], "source": [ "string_list = [\"Alice\", \"\", \"Bob\", \"\", \"Charlie\"]\n", - "# Your code here" + "# Your code here\n", + "for single_string in string_list:\n", + " if single_string == \"\":\n", + " string_list.remove(\"\")\n", + "\n", + "print(string_list)" ] }, { @@ -130,12 +215,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1000, 2000, [3000, 4000, [5000, 6000], 7000], 8000, 9000]\n" + ] + } + ], "source": [ "nested_list = [1000, 2000, [3000, 4000, [5000, 6000], 7000], 8000]\n", - "# Your code here" + "# Your code here\n", + "nested_list.append(9000)\n", + "print(nested_list)" ] }, { @@ -148,12 +243,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['p', 'q', ['r', ['s', 't'], 'u'], 'v', 'x', 'y', 'z']\n" + ] + } + ], "source": [ "nested_list = [\"p\", \"q\", [\"r\", [\"s\", \"t\"], \"u\"], \"v\"]\n", - "# Your code here" + "# Your code here\n", + "nested_list.append(\"x\")\n", + "nested_list.append(\"y\")\n", + "nested_list.append(\"z\")\n", + "print(nested_list)" ] }, { @@ -166,12 +273,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[5, 10, 150, 20, 15]\n" + ] + } + ], "source": [ "list1 = [5, 10, 15, 20, 15]\n", - "# Your code here" + "# Your code here\n", + "list1[2] = 150\n", + "print(list1)" ] }, { @@ -184,12 +301,25 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[5, 15, 35]\n" + ] + } + ], "source": [ "list2 = [5, 25, 15, 25, 35]\n", - "# Your code here" + "# Your code here\n", + "for i in list2: \n", + " if i == 25:\n", + " list2.remove(25)\n", + "\n", + "print(list2)" ] }, { @@ -209,13 +339,23 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'a': 1, 'b': 2, 'c': 3, 'd': 4}\n" + ] + } + ], "source": [ "dict1 = {'a': 1, 'b': 2}\n", "dict2 = {'c': 3, 'd': 4}\n", - "# Your code here" + "# Your code here\n", + "dict3 = dict1 | dict2\n", + "print(dict3)" ] }, { @@ -228,12 +368,30 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}\n" + ] + } + ], "source": [ "input_string = \"hello world\"\n", - "# Your code here" + "# Your code here\n", + "letter_count = {}\n", + "for letter in input_string:\n", + " if letter in letter_count:\n", + " #known letter -> increase count by one\n", + " letter_count[letter] +=1\n", + " else:\n", + " # new letter -> add to element_count\n", + " letter_count[letter] = 1\n", + "\n", + "print(letter_count)" ] }, { @@ -246,12 +404,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['name', 'age']\n" + ] + } + ], "source": [ "dict_1 = {'name': 'Alice', 'age': 25}\n", - "# Your code here" + "# Your code here\n", + "key_list = list(dict_1.keys())\n", + "print(key_list)\n" ] }, { @@ -264,12 +432,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'name': 'John', 'age': 30}\n" + ] + } + ], "source": [ "person_info = {'name': 'John', 'age': 25}\n", - "# Your code here" + "# Your code here\n", + "person_info[\"age\"] = 30\n", + "print(person_info)" ] }, { @@ -286,12 +464,26 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "dict.popitem() takes no arguments (1 given)", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[61]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m location_info = {\u001b[33m'\u001b[39m\u001b[33mcountry\u001b[39m\u001b[33m'\u001b[39m: \u001b[33m'\u001b[39m\u001b[33mUSA\u001b[39m\u001b[33m'\u001b[39m, \u001b[33m'\u001b[39m\u001b[33mcity\u001b[39m\u001b[33m'\u001b[39m: \u001b[33m'\u001b[39m\u001b[33mNew York\u001b[39m\u001b[33m'\u001b[39m}\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m# Your code here\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m \u001b[43mlocation_info\u001b[49m\u001b[43m.\u001b[49m\u001b[43mpopitem\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mcity\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 4\u001b[39m \u001b[38;5;28mprint\u001b[39m(location_info)\n", + "\u001b[31mTypeError\u001b[39m: dict.popitem() takes no arguments (1 given)" + ] + } + ], "source": [ "location_info = {'country': 'USA', 'city': 'New York'}\n", - "# Your code here" + "# Your code here\n", + "location_info.popitem(\"city\")\n", + "print(location_info)" ] }, { @@ -311,12 +503,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 2, 3)\n" + ] + } + ], "source": [ "list3 = [1, 2, 3]\n", - "# Your code here" + "# Your code here\n", + "tuple1 = tuple(list3)\n", + "print(tuple1)" ] }, { @@ -329,12 +531,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "tuple1 = (1, 2, 3, 2)\n", - "# Your code here" + "# Your code here\n", + "tuple1.count(2)" ] }, { @@ -347,12 +561,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "tuple2 = (10, 20, 30, 5)\n", - "# Your code here" + "# Your code here\n", + "tuple2.index(5)" ] }, { @@ -365,12 +591,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "tuple3 = (100, 'Hello', True)\n", - "# Your code here to unpack values into variables x, y and z." + "# Your code here to unpack values into variables x, y and z.\n", + "x = tuple3.index(100)\n", + "y = tuple3.index(\"Hello\")\n", + "z = tuple3.index(True)\n", + "\n" ] }, { @@ -383,11 +613,21 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], "source": [ - "# Your code here to create a tuple with one element.\n" + "# Your code here to create a tuple with one element.\n", + "tuple1 = (42,)\n", + "print(type(tuple1))" ] }, { @@ -407,12 +647,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3}\n" + ] + } + ], "source": [ "list4 = [1, 2, 2, 3]\n", - "# Your code here to create a set." + "# Your code here to create a set.\n", + "set4 = set(list4)\n", + "print(set4)" ] }, { @@ -425,13 +675,23 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3}\n" + ] + } + ], "source": [ "set1 = {1, 2}\n", "set2 = {2, 3}\n", - "# Your code here to find union." + "# Your code here to find union.\n", + "set3 = set1.union(set2)\n", + "print(set3)" ] }, { @@ -444,13 +704,23 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{2}\n" + ] + } + ], "source": [ "set1 = {1, 2}\n", "set2 = {2, 3}\n", - "# Your code here to find intersection." + "# Your code here to find intersection.\n", + "set3 = set1.intersection(set2)\n", + "print(set3)" ] }, { @@ -463,13 +733,23 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1}\n" + ] + } + ], "source": [ "set1 = {1, 2}\n", "set2 = {2, 3}\n", - "# Your code here to find difference." + "# Your code here to find difference.\n", + "set3 = set1 - set2\n", + "print(set3)" ] }, { @@ -482,13 +762,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], "source": [ "set1 = {1}\n", "set2 = {1, 2}\n", - "# Your code here to check subset." + "# Your code here to check subset.\n", + "print(set1.issubset(set2))" ] }, { @@ -532,12 +821,24 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "numbers_list = [10, -20, -30]\n", - "# Your code here to find maximum value.\n" + "# Your code here to find maximum value.\n", + "max(numbers_list)" ] }, { @@ -550,12 +851,29 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "radar is a palindrome: True\n" + ] + } + ], "source": [ "input_string = \"radar\"\n", - "# Your code here to check for palindrome." + "# Your code here to check for palindrome.\n", + "is_palindrome = True\n", + "for i in range(len(input_string)):\n", + " reversed_letter = list(reversed(input_string))[i] \n", + " letter = input_string[i] \n", + " if letter != reversed_letter:\n", + " is_palindrome = False\n", + " \n", + "\n", + "print(input_string + \" is a palindrome: \" + str(is_palindrome))" ] }, { @@ -568,12 +886,22 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2, 3]\n" + ] + } + ], "source": [ "numbers_list = [1, 2, 3]\n", - "# Your code here to rotate elements.\n" + "# Your code here to rotate elements.\n", + "numbers_list.insert(0,0)\n", + "print(numbers_list)" ] }, { @@ -586,12 +914,28 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], "source": [ "input_string = \"Hello World\"\n", - "# Your code here to count vowels." + "# Your code here to count vowels.\n", + "vowels = ['a', 'e', 'i', 'o', 'u']\n", + "vowel_count = 0\n", + "\n", + "for letter in input_string:\n", + " if letter in vowels:\n", + " vowel_count +=1\n", + "\n", + "print(vowel_count)" ] }, { @@ -604,13 +948,21 @@ ], "metadata": { "kernelspec": { - "display_name": ".venv", + "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", "name": "python", - "version": "3.8.0" + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.3" } }, "nbformat": 4,