diff --git a/your-code/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/your-code/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..363fcab --- /dev/null +++ b/your-code/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb b/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb new file mode 100644 index 0000000..c6fbfc1 --- /dev/null +++ b/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb @@ -0,0 +1,372 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 1: Tuples\n", + "\n", + "#### Do you know you can create tuples with only one element?\n", + "\n", + "**In the cell below, define a variable `tup` with a single element `\"I\"`.**\n", + "\n", + "*Hint: you need to add a comma (`,`) after the single element.*" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "tup= (\"I\",)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Print the type of `tup`. \n", + "\n", + "Make sure its type is correct (i.e. *tuple* instead of *str*)." + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tuple" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(tup)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Now try to append the following elements to `tup`. \n", + "\n", + "Are you able to do it? Explain.\n", + "\n", + "```\n", + "\"r\", \"o\", \"n\", \"h\", \"a\", \"c\", \"k',\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'tuple' object has no attribute 'append'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mC:\\Users\\JUANCA~1\\AppData\\Local\\Temp/ipykernel_31256/2921012397.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtup\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'r'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;31m#It is not possible to append those elements because a tuple is a inmutable object.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'tuple' object has no attribute 'append'" + ] + } + ], + "source": [ + "tup.append('r')\n", + "#It is not possible to append those elements because a tuple is a inmutable object." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### How about re-assign a new value to an existing tuple?\n", + "\n", + "Re-assign the following elements to `tup`. Are you able to do it? Explain.\n", + "\n", + "```\n", + "\"I\", \"r\", \"o\", \"n\", \"h\", \"a\", \"c\", \"k\"\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('I', 'r', 'o', 'n', 'h', 'a', 'c', 'k')" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lista= list(tup)\n", + "\n", + "lista.append('r')\n", + "lista.append('o')\n", + "lista.append('n')\n", + "lista.append('h')\n", + "lista.append('a')\n", + "lista.append('c')\n", + "lista.append('k')\n", + "\n", + "tup=tuple(lista)\n", + "tup\n", + "\n", + "\n", + "\n", + "\n", + "#Se tiene que transformar la tupla en lista y, posteriormente, agregar uno por uno los elementos que pide el ejercicio mediante la función append. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Split `tup` into `tup1` and `tup2` with 4 elements in each. \n", + "\n", + "`tup1` should be `(\"I\", \"r\", \"o\", \"n\")` and `tup2` should be `(\"h\", \"a\", \"c\", \"k\")`.\n", + "\n", + "*Hint: use positive index numbers for `tup1` assignment and use negative index numbers for `tup2` assignment. Positive index numbers count from the beginning whereas negative index numbers count from the end of the sequence.*\n", + "\n", + "Also print `tup1` and `tup2`." + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r', 'o', 'n')\n", + "('h', 'a', 'c', 'k')\n" + ] + } + ], + "source": [ + "tup=list(tup)\n", + "tup\n", + "\n", + "tup1=tup[0:4]\n", + "tup2=tup[4:]\n", + "\n", + "tup1=tuple(tup1)\n", + "tup2=tuple(tup2)\n", + "\n", + "print(tup1)\n", + "print(tup2)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Add `tup1` and `tup2` into `tup3` using the `+` operator.\n", + "\n", + "Then print `tup3` and check if `tup3` equals to `tup`." + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r', 'o', 'n', 'h', 'a', 'c', 'k')\n" + ] + } + ], + "source": [ + "tup3= tup1+tup2\n", + "print(tup3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Count the number of elements in `tup1` and `tup2`. Then add the two counts together and check if the sum is the same as the number of elements in `tup3`" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tienen el mismo número de elementos\n" + ] + } + ], + "source": [ + "\n", + "a=len(tup1)\n", + "b=len(tup2)\n", + "c=len(tup3)\n", + "\n", + "if a+b==c:\n", + " print(\"Tienen el mismo número de elementos\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### What is the index number of `\"h\"` in `tup3`?" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tup3.index('h')\n", + "#El ínide de h es el 4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Now, use a FOR loop to check whether each letter in the following list is present in `tup3`:\n", + "\n", + "```\n", + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "```\n", + "\n", + "For each letter you check, print `True` if it is present in `tup3` otherwise print `False`.\n", + "\n", + "*Hint: you only need to loop `letters`. You don't need to loop `tup3` because there is a Python operator `in` you can use. See [reference](https://stackoverflow.com/questions/17920147/how-to-check-if-a-tuple-contains-an-element-in-python).*" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a is true\n", + "b es false\n", + "c is true\n", + "d es false\n", + "e es false\n" + ] + } + ], + "source": [ + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "\n", + "for i in letters:\n", + " if i in tup3:\n", + " print( i, 'is true')\n", + " else:\n", + " print(i, 'es false')\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### How many times does each letter in `letters` appear in `tup3`?\n", + "\n", + "Print out the number of occurrence of each letter." + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "la letra i se repite 1 veces\n", + "la letra i se repite 1 veces\n" + ] + } + ], + "source": [ + "\n", + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "contador=0\n", + "\n", + "for i in letters:\n", + " num=tup3.count(i)\n", + " if num>0:\n", + " print('la letra i se repite', num, 'veces')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/.ipynb_checkpoints/challenge-2-checkpoint.ipynb b/your-code/.ipynb_checkpoints/challenge-2-checkpoint.ipynb new file mode 100644 index 0000000..9e86265 --- /dev/null +++ b/your-code/.ipynb_checkpoints/challenge-2-checkpoint.ipynb @@ -0,0 +1,513 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 2: Sets\n", + "\n", + "There are a lot to learn about Python Sets and the information presented in the lesson is limited due to its length. To learn Python Sets in depth you are strongly encouraged to review the W3Schools tutorial on [Python Sets Examples and Methods](https://www.w3schools.com/python/python_sets.asp) before you work on this lab. Some difficult questions in this lab have their solutions in the W3Schools tutorial.\n", + "\n", + "#### First, import the Python `random` libary" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "import random" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### In the cell below, create a list named `sample_list_1` with 80 random values. \n", + "\n", + "Requirements:\n", + "\n", + "* Each value is an integer falling between 0 and 100.\n", + "* Each value in the list is unique.\n", + "\n", + "Print `sample_list_1` to review its values\n", + "\n", + "*Hint: use `random.sample` ([reference](https://docs.python.org/3/library/random.html#random.sample)).*" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]\n", + "[30, 81, 47, 90, 77, 48, 26, 33, 70, 80, 83, 61, 57, 71, 12, 19, 78, 56, 68, 1, 65, 95, 41, 72, 8, 5, 15, 94, 98, 60, 73, 82, 45, 23, 20, 66, 29, 25, 13, 4, 52, 10, 91, 16, 59, 88, 37, 36, 11, 62, 79, 39, 74, 34, 7, 100, 46, 49, 85, 75, 38, 31, 54, 97, 2, 67, 89, 22, 87, 50, 69, 76, 40, 21, 9, 42, 18, 0, 44, 53]\n" + ] + } + ], + "source": [ + "ls=list(range(0,101))\n", + "print(ls)\n", + "\n", + "sample_list_1=random.sample(ls, 80)\n", + "print(sample_list_1)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Convert `sample_list_1` to a set called `set1`. Print the length of the set. Is its length still 80?" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], + "source": [ + "set1=set(sample_list_1)\n", + "print(set1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create another list named `sample_list_2` with 80 random values.\n", + "\n", + "Requirements:\n", + "\n", + "* Each value is an integer falling between 0 and 100.\n", + "* The values in the list don't have to be unique.\n", + "\n", + "*Hint: Use a FOR loop.*" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[59, 84, 35, 85, 90, 36, 58, 86, 34, 43, 50, 51, 21, 1, 7, 81, 49, 95, 81, 82, 17, 72, 49, 64, 69, 66, 4, 64, 18, 39, 35, 52, 79, 16, 9, 38, 60, 67, 39, 91, 47, 77, 86, 25, 35, 53, 88, 79, 28, 48, 64, 16, 58, 30, 7, 18, 45, 59, 52, 47, 69, 17, 25, 12, 79, 89, 12, 94, 30, 41, 17, 21, 20, 85, 74, 92, 56, 67, 36, 18]\n" + ] + }, + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_list_2=[]\n", + "for i in range(80):\n", + " a=random.randrange(1,101)\n", + " sample_list_2.append(a)\n", + "print(sample_list_2)\n", + "type(sample_list_2)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Convert `sample_list_2` to a set called `set2`. Print the length of the set. Is its length still 80?" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "52" + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set2=set(sample_list_2)\n", + "len(set2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Identify the elements present in `set1` but not in `set2`. Assign the elements to a new set named `set3`." + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 2, 5, 8, 10, 11, 13, 15, 19, 22, 23, 26, 29, 31, 33, 37, 40, 42, 44, 46, 54, 57, 61, 62, 65, 68, 70, 71, 73, 75, 76, 78, 80, 83, 87, 97, 98, 100}\n" + ] + } + ], + "source": [ + "set3=set1.difference(set2)\n", + "print(set3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Identify the elements present in `set2` but not in `set1`. Assign the elements to a new set named `set4`." + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{64, 35, 43, 92, 17, 51, 84, 86, 58, 28}\n" + ] + } + ], + "source": [ + "set4=set2.difference(set1)\n", + "print(set4)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Now Identify the elements shared between `set1` and `set2`. Assign the elements to a new set named `set5`." + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 4, 7, 9, 12, 16, 18, 20, 21, 25, 30, 34, 36, 38, 39, 41, 45, 47, 48, 49, 50, 52, 53, 56, 59, 60, 66, 67, 69, 72, 74, 77, 79, 81, 82, 85, 88, 89, 90, 91, 94, 95}\n" + ] + } + ], + "source": [ + "set5=set1.intersection(set2)\n", + "print(set5)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### What is the relationship among the following values:\n", + "\n", + "* len(set1)\n", + "* len(set2)\n", + "* len(set3)\n", + "* len(set4)\n", + "* len(set5)\n", + "\n", + "Use a math formular to represent that relationship. Test your formular with Python code." + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "80\n", + "52\n", + "38\n", + "10\n", + "42\n", + "90\n", + "90\n" + ] + } + ], + "source": [ + "print(len(set1))\n", + "print(len(set2))\n", + "print(len(set3))\n", + "print(len(set4))\n", + "print(len(set5))\n", + "\n", + "x=set1.union(set2)\n", + "print(len(x))\n", + "\n", + "y=len(set3)+len(set4)+len(set5)\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an empty set called `set6`." + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "set" + ] + }, + "execution_count": 154, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set6= set()\n", + "type(set6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Add `set3` and `set5` to `set6` using the Python Set `update` method." + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], + "source": [ + "set6.update(set3)\n", + "set6.update(set5)\n", + "print(set6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Check if `set1` and `set6` are equal." + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "print(set1==set6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Check if `set1` contains `set2` using the Python Set `issubset` method. Then check if `set1` contains `set3`.*" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], + "source": [ + "print(set1.issubset(set2))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Using the Python Set `union` method, aggregate `set3`, `set4`, and `set5`. Then aggregate `set1` and `set2`. \n", + "\n", + "#### Check if the aggregated values are equal." + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 100}\n", + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 100}\n" + ] + }, + { + "data": { + "text/plain": [ + "90" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "w=set3.union(set4, set5)\n", + "print(w)\n", + "w1=w.union(set1, set2)\n", + "print(w1)\n", + "len(w1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Using the `pop` method, remove the first element from `set1`." + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set1.pop()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Remove every element in the following list from `set1` if they are present in the set. Print the remaining elements.\n", + "\n", + "```\n", + "list_to_remove = [1, 9, 11, 19, 21, 29, 31, 39, 41, 49, 51, 59, 61, 69, 71, 79, 81, 89, 91, 99]\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{2, 4, 5, 7, 8, 10, 12, 13, 15, 16, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], + "source": [ + "list_to_remove = [1, 9, 11, 19, 21, 29, 31, 39, 41, 49, 51, 59, 61, 69, 71, 79, 81, 89, 91, 99]\n", + "list_to_remove=set(list_to_remove) \n", + "\n", + "last=set1.symmetric_difference(list_to_remove)\n", + "\n", + "print(last)\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/.ipynb_checkpoints/challenge-3-checkpoint.ipynb b/your-code/.ipynb_checkpoints/challenge-3-checkpoint.ipynb new file mode 100644 index 0000000..2cf16c7 --- /dev/null +++ b/your-code/.ipynb_checkpoints/challenge-3-checkpoint.ipynb @@ -0,0 +1,643 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 3: Dictionaries\n", + "\n", + "In this challenge you will practice how to manipulate Python dictionaries. Before starting on this challenge, you are encouraged to review W3School's [Python Dictionary Examples and Methods](https://www.w3schools.com/python/python_dictionaries.asp).\n", + "\n", + "First thing you will practice is how to sort the keys in a dictionary. Unlike the list object, Python dictionary does not have a built-in *sort* method. You'll need to use FOR loops to to sort dictionaries either by key or by value.\n", + "\n", + "The dictionary below is a summary of the word frequency of Ed Sheeran's song *Shape of You*. Each key is a word in the lyrics and the value is the number of times that word appears in the lyrics." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "word_freq = {'love': 25, 'conversation': 1, 'every': 6, \"we're\": 1, 'plate': 1, 'sour': 1, 'jukebox': 1, 'now': 11, 'taxi': 1, 'fast': 1, 'bag': 1, 'man': 1, 'push': 3, 'baby': 14, 'going': 1, 'you': 16, \"don't\": 2, 'one': 1, 'mind': 2, 'backseat': 1, 'friends': 1, 'then': 3, 'know': 2, 'take': 1, 'play': 1, 'okay': 1, 'so': 2, 'begin': 1, 'start': 2, 'over': 1, 'body': 17, 'boy': 2, 'just': 1, 'we': 7, 'are': 1, 'girl': 2, 'tell': 1, 'singing': 2, 'drinking': 1, 'put': 3, 'our': 1, 'where': 1, \"i'll\": 1, 'all': 1, \"isn't\": 1, 'make': 1, 'lover': 1, 'get': 1, 'radio': 1, 'give': 1, \"i'm\": 23, 'like': 10, 'can': 1, 'doing': 2, 'with': 22, 'club': 1, 'come': 37, 'it': 1, 'somebody': 2, 'handmade': 2, 'out': 1, 'new': 6, 'room': 3, 'chance': 1, 'follow': 6, 'in': 27, 'may': 2, 'brand': 6, 'that': 2, 'magnet': 3, 'up': 3, 'first': 1, 'and': 23, 'pull': 3, 'of': 6, 'table': 1, 'much': 2, 'last': 3, 'i': 6, 'thrifty': 1, 'grab': 2, 'was': 2, 'driver': 1, 'slow': 1, 'dance': 1, 'the': 18, 'say': 2, 'trust': 1, 'family': 1, 'week': 1, 'date': 1, 'me': 10, 'do': 3, 'waist': 2, 'smell': 3, 'day': 6, 'although': 3, 'your': 21, 'leave': 1, 'want': 2, \"let's\": 2, 'lead': 6, 'at': 1, 'hand': 1, 'how': 1, 'talk': 4, 'not': 2, 'eat': 1, 'falling': 3, 'about': 1, 'story': 1, 'sweet': 1, 'best': 1, 'crazy': 2, 'let': 1, 'too': 5, 'van': 1, 'shots': 1, 'go': 2, 'to': 2, 'a': 8, 'my': 33, 'is': 5, 'place': 1, 'find': 1, 'shape': 6, 'on': 40, 'kiss': 1, 'were': 3, 'night': 3, 'heart': 3, 'for': 3, 'discovering': 6, 'something': 6, 'be': 16, 'bedsheets': 3, 'fill': 2, 'hours': 2, 'stop': 1, 'bar': 1}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sort the keys of `word_freq` ascendingly.\n", + "\n", + "Please create a new dictionary called `word_freq2` based on `word_freq` with the keys sorted ascedingly.\n", + "\n", + "There are several ways to achieve that goal but many of the ways are beyond what we have covered so far in the course. There is one way that we'll describe employing what you have learned. Please feel free to use this way or any other way you want.\n", + "\n", + "1. First extract the keys of `word_freq` and convert it to a list called `keys`.\n", + "\n", + "1. Sort the `keys` list.\n", + "\n", + "1. Create an empty dictionary `word_freq2`.\n", + "\n", + "1. Use a FOR loop to iterate each value in `keys`. For each key iterated, find the corresponding value in `word_freq` and insert the key-value pair to `word_freq2`.\n", + "\n", + "Print out `word_freq2` to examine its keys and values. Your output should be:\n", + "\n", + "```python\n", + "{'a': 8, 'about': 1, 'all': 1, 'although': 3, 'and': 23, 'are': 1, 'at': 1, 'baby': 14, 'backseat': 1, 'bag': 1, 'bar': 1, 'be': 16, 'bedsheets': 3, 'begin': 1, 'best': 1, 'body': 17, 'boy': 2, 'brand': 6, 'can': 1, 'chance': 1, 'club': 1, 'come': 37, 'conversation': 1, 'crazy': 2, 'dance': 1, 'date': 1, 'day': 6, 'discovering': 6, 'do': 3, 'doing': 2, \"don't\": 2, 'drinking': 1, 'driver': 1, 'eat': 1, 'every': 6, 'falling': 3, 'family': 1, 'fast': 1, 'fill': 2, 'find': 1, 'first': 1, 'follow': 6, 'for': 3, 'friends': 1, 'get': 1, 'girl': 2, 'give': 1, 'go': 2, 'going': 1, 'grab': 2, 'hand': 1, 'handmade': 2, 'heart': 3, 'hours': 2, 'how': 1, 'i': 6, \"i'll\": 1, \"i'm\": 23, 'in': 27, 'is': 5, \"isn't\": 1, 'it': 1, 'jukebox': 1, 'just': 1, 'kiss': 1, 'know': 2, 'last': 3, 'lead': 6, 'leave': 1, 'let': 1, \"let's\": 2, 'like': 10, 'love': 25, 'lover': 1, 'magnet': 3, 'make': 1, 'man': 1, 'may': 2, 'me': 10, 'mind': 2, 'much': 2, 'my': 33, 'new': 6, 'night': 3, 'not': 2, 'now': 11, 'of': 6, 'okay': 1, 'on': 40, 'one': 1, 'our': 1, 'out': 1, 'over': 1, 'place': 1, 'plate': 1, 'play': 1, 'pull': 3, 'push': 3, 'put': 3, 'radio': 1, 'room': 3, 'say': 2, 'shape': 6, 'shots': 1, 'singing': 2, 'slow': 1, 'smell': 3, 'so': 2, 'somebody': 2, 'something': 6, 'sour': 1, 'start': 2, 'stop': 1, 'story': 1, 'sweet': 1, 'table': 1, 'take': 1, 'talk': 4, 'taxi': 1, 'tell': 1, 'that': 2, 'the': 18, 'then': 3, 'thrifty': 1, 'to': 2, 'too': 5, 'trust': 1, 'up': 3, 'van': 1, 'waist': 2, 'want': 2, 'was': 2, 'we': 7, \"we're\": 1, 'week': 1, 'were': 3, 'where': 1, 'with': 22, 'you': 16, 'your': 21}\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a', 'about', 'all', 'although', 'and', 'are', 'at', 'baby', 'backseat', 'bag', 'bar', 'be', 'bedsheets', 'begin', 'best', 'body', 'boy', 'brand', 'can', 'chance', 'club', 'come', 'conversation', 'crazy', 'dance', 'date', 'day', 'discovering', 'do', 'doing', \"don't\", 'drinking', 'driver', 'eat', 'every', 'falling', 'family', 'fast', 'fill', 'find', 'first', 'follow', 'for', 'friends', 'get', 'girl', 'give', 'go', 'going', 'grab', 'hand', 'handmade', 'heart', 'hours', 'how', 'i', \"i'll\", \"i'm\", 'in', 'is', \"isn't\", 'it', 'jukebox', 'just', 'kiss', 'know', 'last', 'lead', 'leave', 'let', \"let's\", 'like', 'love', 'lover', 'magnet', 'make', 'man', 'may', 'me', 'mind', 'much', 'my', 'new', 'night', 'not', 'now', 'of', 'okay', 'on', 'one', 'our', 'out', 'over', 'place', 'plate', 'play', 'pull', 'push', 'put', 'radio', 'room', 'say', 'shape', 'shots', 'singing', 'slow', 'smell', 'so', 'somebody', 'something', 'sour', 'start', 'stop', 'story', 'sweet', 'table', 'take', 'talk', 'taxi', 'tell', 'that', 'the', 'then', 'thrifty', 'to', 'too', 'trust', 'up', 'van', 'waist', 'want', 'was', 'we', \"we're\", 'week', 'were', 'where', 'with', 'you', 'your']\n", + "{'a': 8, 'about': 1, 'all': 1, 'although': 3, 'and': 23, 'are': 1, 'at': 1, 'baby': 14, 'backseat': 1, 'bag': 1, 'bar': 1, 'be': 16, 'bedsheets': 3, 'begin': 1, 'best': 1, 'body': 17, 'boy': 2, 'brand': 6, 'can': 1, 'chance': 1, 'club': 1, 'come': 37, 'conversation': 1, 'crazy': 2, 'dance': 1, 'date': 1, 'day': 6, 'discovering': 6, 'do': 3, 'doing': 2, \"don't\": 2, 'drinking': 1, 'driver': 1, 'eat': 1, 'every': 6, 'falling': 3, 'family': 1, 'fast': 1, 'fill': 2, 'find': 1, 'first': 1, 'follow': 6, 'for': 3, 'friends': 1, 'get': 1, 'girl': 2, 'give': 1, 'go': 2, 'going': 1, 'grab': 2, 'hand': 1, 'handmade': 2, 'heart': 3, 'hours': 2, 'how': 1, 'i': 6, \"i'll\": 1, \"i'm\": 23, 'in': 27, 'is': 5, \"isn't\": 1, 'it': 1, 'jukebox': 1, 'just': 1, 'kiss': 1, 'know': 2, 'last': 3, 'lead': 6, 'leave': 1, 'let': 1, \"let's\": 2, 'like': 10, 'love': 25, 'lover': 1, 'magnet': 3, 'make': 1, 'man': 1, 'may': 2, 'me': 10, 'mind': 2, 'much': 2, 'my': 33, 'new': 6, 'night': 3, 'not': 2, 'now': 11, 'of': 6, 'okay': 1, 'on': 40, 'one': 1, 'our': 1, 'out': 1, 'over': 1, 'place': 1, 'plate': 1, 'play': 1, 'pull': 3, 'push': 3, 'put': 3, 'radio': 1, 'room': 3, 'say': 2, 'shape': 6, 'shots': 1, 'singing': 2, 'slow': 1, 'smell': 3, 'so': 2, 'somebody': 2, 'something': 6, 'sour': 1, 'start': 2, 'stop': 1, 'story': 1, 'sweet': 1, 'table': 1, 'take': 1, 'talk': 4, 'taxi': 1, 'tell': 1, 'that': 2, 'the': 18, 'then': 3, 'thrifty': 1, 'to': 2, 'too': 5, 'trust': 1, 'up': 3, 'van': 1, 'waist': 2, 'want': 2, 'was': 2, 'we': 7, \"we're\": 1, 'week': 1, 'were': 3, 'where': 1, 'with': 22, 'you': 16, 'your': 21}\n" + ] + } + ], + "source": [ + "keys=list(word_freq.keys())\n", + "keys.sort()\n", + "print(keys)\n", + "word_freq2={}\n", + "\n", + "for key in keys:\n", + " value=word_freq[key]\n", + " word_freq2[key]=value\n", + "print(word_freq2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sort the values of `word_freq` ascendingly.\n", + "\n", + "Sorting the values of a dictionary is more tricky than sorting the keys because a dictionary's values are not unique. Therefore you cannot use the same way you sorted dict keys to sort dict values.\n", + "\n", + "The way to sort a dict by value is to utilize the `sorted` and `operator.itemgetter` functions. The following code snippet is provided to you to try. It will give you a list of tuples in which each tuple contains the key and value of a dict item. And the list is sorted based on the dict value ([reference](http://thomas-cokelaer.info/blog/2017/12/how-to-sort-a-dictionary-by-values-in-python/)\n", + ").\n", + "\n", + "```python\n", + "import operator\n", + "sorted_tups = sorted(word_freq.items(), key=operator.itemgetter(1))\n", + "print(sorted_tups)\n", + "```\n", + "\n", + "Therefore, the steps to sort `word_freq` by value are:\n", + "\n", + "* Using `sorted` and `operator.itemgetter`, obtain a list of tuples of the dict key-value pairs which is sorted on the value.\n", + "\n", + "* Create an empty dictionary named `word_freq2`.\n", + "\n", + "* Iterate the list of tuples. Insert each key-value pair into `word_freq2` as an object.\n", + "\n", + "Print `word_freq2` to confirm your dictionary has its values sorted. Your output should be:\n", + "\n", + "```python\n", + "{'conversation': 1, \"we're\": 1, 'plate': 1, 'sour': 1, 'jukebox': 1, 'taxi': 1, 'fast': 1, 'bag': 1, 'man': 1, 'going': 1, 'one': 1, 'backseat': 1, 'friends': 1, 'take': 1, 'play': 1, 'okay': 1, 'begin': 1, 'over': 1, 'just': 1, 'are': 1, 'tell': 1, 'drinking': 1, 'our': 1, 'where': 1, \"i'll\": 1, 'all': 1, \"isn't\": 1, 'make': 1, 'lover': 1, 'get': 1, 'radio': 1, 'give': 1, 'can': 1, 'club': 1, 'it': 1, 'out': 1, 'chance': 1, 'first': 1, 'table': 1, 'thrifty': 1, 'driver': 1, 'slow': 1, 'dance': 1, 'trust': 1, 'family': 1, 'week': 1, 'date': 1, 'leave': 1, 'at': 1, 'hand': 1, 'how': 1, 'eat': 1, 'about': 1, 'story': 1, 'sweet': 1, 'best': 1, 'let': 1, 'van': 1, 'shots': 1, 'place': 1, 'find': 1, 'kiss': 1, 'stop': 1, 'bar': 1, \"don't\": 2, 'mind': 2, 'know': 2, 'so': 2, 'start': 2, 'boy': 2, 'girl': 2, 'singing': 2, 'doing': 2, 'somebody': 2, 'handmade': 2, 'may': 2, 'that': 2, 'much': 2, 'grab': 2, 'was': 2, 'say': 2, 'waist': 2, 'want': 2, \"let's\": 2, 'not': 2, 'crazy': 2, 'go': 2, 'to': 2, 'fill': 2, 'hours': 2, 'push': 3, 'then': 3, 'put': 3, 'room': 3, 'magnet': 3, 'up': 3, 'pull': 3, 'last': 3, 'do': 3, 'smell': 3, 'although': 3, 'falling': 3, 'were': 3, 'night': 3, 'heart': 3, 'for': 3, 'bedsheets': 3, 'talk': 4, 'too': 5, 'is': 5, 'every': 6, 'new': 6, 'follow': 6, 'brand': 6, 'of': 6, 'i': 6, 'day': 6, 'lead': 6, 'shape': 6, 'discovering': 6, 'something': 6, 'we': 7, 'a': 8, 'like': 10, 'me': 10, 'now': 11, 'baby': 14, 'you': 16, 'be': 16, 'body': 17, 'the': 18, 'your': 21, 'with': 22, \"i'm\": 23, 'and': 23, 'love': 25, 'in': 27, 'my': 33, 'come': 37, 'on': 40}\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('conversation', 1), (\"we're\", 1), ('plate', 1), ('sour', 1), ('jukebox', 1), ('taxi', 1), ('fast', 1), ('bag', 1), ('man', 1), ('going', 1), ('one', 1), ('backseat', 1), ('friends', 1), ('take', 1), ('play', 1), ('okay', 1), ('begin', 1), ('over', 1), ('just', 1), ('are', 1), ('tell', 1), ('drinking', 1), ('our', 1), ('where', 1), (\"i'll\", 1), ('all', 1), (\"isn't\", 1), ('make', 1), ('lover', 1), ('get', 1), ('radio', 1), ('give', 1), ('can', 1), ('club', 1), ('it', 1), ('out', 1), ('chance', 1), ('first', 1), ('table', 1), ('thrifty', 1), ('driver', 1), ('slow', 1), ('dance', 1), ('trust', 1), ('family', 1), ('week', 1), ('date', 1), ('leave', 1), ('at', 1), ('hand', 1), ('how', 1), ('eat', 1), ('about', 1), ('story', 1), ('sweet', 1), ('best', 1), ('let', 1), ('van', 1), ('shots', 1), ('place', 1), ('find', 1), ('kiss', 1), ('stop', 1), ('bar', 1), (\"don't\", 2), ('mind', 2), ('know', 2), ('so', 2), ('start', 2), ('boy', 2), ('girl', 2), ('singing', 2), ('doing', 2), ('somebody', 2), ('handmade', 2), ('may', 2), ('that', 2), ('much', 2), ('grab', 2), ('was', 2), ('say', 2), ('waist', 2), ('want', 2), (\"let's\", 2), ('not', 2), ('crazy', 2), ('go', 2), ('to', 2), ('fill', 2), ('hours', 2), ('push', 3), ('then', 3), ('put', 3), ('room', 3), ('magnet', 3), ('up', 3), ('pull', 3), ('last', 3), ('do', 3), ('smell', 3), ('although', 3), ('falling', 3), ('were', 3), ('night', 3), ('heart', 3), ('for', 3), ('bedsheets', 3), ('talk', 4), ('too', 5), ('is', 5), ('every', 6), ('new', 6), ('follow', 6), ('brand', 6), ('of', 6), ('i', 6), ('day', 6), ('lead', 6), ('shape', 6), ('discovering', 6), ('something', 6), ('we', 7), ('a', 8), ('like', 10), ('me', 10), ('now', 11), ('baby', 14), ('you', 16), ('be', 16), ('body', 17), ('the', 18), ('your', 21), ('with', 22), (\"i'm\", 23), ('and', 23), ('love', 25), ('in', 27), ('my', 33), ('come', 37), ('on', 40)]\n", + "('conversation', 1)\n", + "(\"we're\", 1)\n", + "('plate', 1)\n", + "('sour', 1)\n", + "('jukebox', 1)\n", + "('taxi', 1)\n", + "('fast', 1)\n", + "('bag', 1)\n", + "('man', 1)\n", + "('going', 1)\n", + "('one', 1)\n", + "('backseat', 1)\n", + "('friends', 1)\n", + "('take', 1)\n", + "('play', 1)\n", + "('okay', 1)\n", + "('begin', 1)\n", + "('over', 1)\n", + "('just', 1)\n", + "('are', 1)\n", + "('tell', 1)\n", + "('drinking', 1)\n", + "('our', 1)\n", + "('where', 1)\n", + "(\"i'll\", 1)\n", + "('all', 1)\n", + "(\"isn't\", 1)\n", + "('make', 1)\n", + "('lover', 1)\n", + "('get', 1)\n", + "('radio', 1)\n", + "('give', 1)\n", + "('can', 1)\n", + "('club', 1)\n", + "('it', 1)\n", + "('out', 1)\n", + "('chance', 1)\n", + "('first', 1)\n", + "('table', 1)\n", + "('thrifty', 1)\n", + "('driver', 1)\n", + "('slow', 1)\n", + "('dance', 1)\n", + "('trust', 1)\n", + "('family', 1)\n", + "('week', 1)\n", + "('date', 1)\n", + "('leave', 1)\n", + "('at', 1)\n", + "('hand', 1)\n", + "('how', 1)\n", + "('eat', 1)\n", + "('about', 1)\n", + "('story', 1)\n", + "('sweet', 1)\n", + "('best', 1)\n", + "('let', 1)\n", + "('van', 1)\n", + "('shots', 1)\n", + "('place', 1)\n", + "('find', 1)\n", + "('kiss', 1)\n", + "('stop', 1)\n", + "('bar', 1)\n", + "(\"don't\", 2)\n", + "('mind', 2)\n", + "('know', 2)\n", + "('so', 2)\n", + "('start', 2)\n", + "('boy', 2)\n", + "('girl', 2)\n", + "('singing', 2)\n", + "('doing', 2)\n", + "('somebody', 2)\n", + "('handmade', 2)\n", + "('may', 2)\n", + "('that', 2)\n", + "('much', 2)\n", + "('grab', 2)\n", + "('was', 2)\n", + "('say', 2)\n", + "('waist', 2)\n", + "('want', 2)\n", + "(\"let's\", 2)\n", + "('not', 2)\n", + "('crazy', 2)\n", + "('go', 2)\n", + "('to', 2)\n", + "('fill', 2)\n", + "('hours', 2)\n", + "('push', 3)\n", + "('then', 3)\n", + "('put', 3)\n", + "('room', 3)\n", + "('magnet', 3)\n", + "('up', 3)\n", + "('pull', 3)\n", + "('last', 3)\n", + "('do', 3)\n", + "('smell', 3)\n", + "('although', 3)\n", + "('falling', 3)\n", + "('were', 3)\n", + "('night', 3)\n", + "('heart', 3)\n", + "('for', 3)\n", + "('bedsheets', 3)\n", + "('talk', 4)\n", + "('too', 5)\n", + "('is', 5)\n", + "('every', 6)\n", + "('new', 6)\n", + "('follow', 6)\n", + "('brand', 6)\n", + "('of', 6)\n", + "('i', 6)\n", + "('day', 6)\n", + "('lead', 6)\n", + "('shape', 6)\n", + "('discovering', 6)\n", + "('something', 6)\n", + "('we', 7)\n", + "('a', 8)\n", + "('like', 10)\n", + "('me', 10)\n", + "('now', 11)\n", + "('baby', 14)\n", + "('you', 16)\n", + "('be', 16)\n", + "('body', 17)\n", + "('the', 18)\n", + "('your', 21)\n", + "('with', 22)\n", + "(\"i'm\", 23)\n", + "('and', 23)\n", + "('love', 25)\n", + "('in', 27)\n", + "('my', 33)\n", + "('come', 37)\n", + "('on', 40)\n", + "{'conversation': 1, \"we're\": 1, 'plate': 1, 'sour': 1, 'jukebox': 1, 'taxi': 1, 'fast': 1, 'bag': 1, 'man': 1, 'going': 1, 'one': 1, 'backseat': 1, 'friends': 1, 'take': 1, 'play': 1, 'okay': 1, 'begin': 1, 'over': 1, 'just': 1, 'are': 1, 'tell': 1, 'drinking': 1, 'our': 1, 'where': 1, \"i'll\": 1, 'all': 1, \"isn't\": 1, 'make': 1, 'lover': 1, 'get': 1, 'radio': 1, 'give': 1, 'can': 1, 'club': 1, 'it': 1, 'out': 1, 'chance': 1, 'first': 1, 'table': 1, 'thrifty': 1, 'driver': 1, 'slow': 1, 'dance': 1, 'trust': 1, 'family': 1, 'week': 1, 'date': 1, 'leave': 1, 'at': 1, 'hand': 1, 'how': 1, 'eat': 1, 'about': 1, 'story': 1, 'sweet': 1, 'best': 1, 'let': 1, 'van': 1, 'shots': 1, 'place': 1, 'find': 1, 'kiss': 1, 'stop': 1, 'bar': 1, \"don't\": 2, 'mind': 2, 'know': 2, 'so': 2, 'start': 2, 'boy': 2, 'girl': 2, 'singing': 2, 'doing': 2, 'somebody': 2, 'handmade': 2, 'may': 2, 'that': 2, 'much': 2, 'grab': 2, 'was': 2, 'say': 2, 'waist': 2, 'want': 2, \"let's\": 2, 'not': 2, 'crazy': 2, 'go': 2, 'to': 2, 'fill': 2, 'hours': 2, 'push': 3, 'then': 3, 'put': 3, 'room': 3, 'magnet': 3, 'up': 3, 'pull': 3, 'last': 3, 'do': 3, 'smell': 3, 'although': 3, 'falling': 3, 'were': 3, 'night': 3, 'heart': 3, 'for': 3, 'bedsheets': 3, 'talk': 4, 'too': 5, 'is': 5, 'every': 6, 'new': 6, 'follow': 6, 'brand': 6, 'of': 6, 'i': 6, 'day': 6, 'lead': 6, 'shape': 6, 'discovering': 6, 'something': 6, 'we': 7, 'a': 8, 'like': 10, 'me': 10, 'now': 11, 'baby': 14, 'you': 16, 'be': 16, 'body': 17, 'the': 18, 'your': 21, 'with': 22, \"i'm\": 23, 'and': 23, 'love': 25, 'in': 27, 'my': 33, 'come': 37, 'on': 40}\n" + ] + } + ], + "source": [ + "import operator\n", + "sorted_tups = sorted(word_freq.items(), key=operator.itemgetter(1))\n", + "print(sorted_tups)\n", + "word_freq2={}\n", + "for tup in sorted_tups:\n", + " print(tup)\n", + " word_freq2[tup[0]] = tup[1]\n", + "print(word_freq2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Convert `word_freq` into Pandas dataframes\n", + "\n", + "In your future work, you may need to convert Python dictionaries to Pandas dataframes. So let's practice this by converting `word_freq`.\n", + "\n", + "**First, import the `pandas` library.**" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Then, use the `pd.DataFrame()` constructor to convert `word_freq` into a dataframe.**\n", + "\n", + "Here's a [reference](https://stackoverflow.com/questions/18837262/convert-python-dict-into-a-dataframe) to show you how to accomplish this. Also name the two columns of the dataframe as `word` and `freq`.\n", + "\n", + "Assign the converted value to a variable called `df`. The first few rows of `df` should look like this:\n", + "\n", + "![df](df.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " word freq\n", + "0 love 25\n", + "1 conversation 1\n", + "2 every 6\n", + "3 we're 1\n", + "4 plate 1\n", + ".. ... ...\n", + "135 bedsheets 3\n", + "136 fill 2\n", + "137 hours 2\n", + "138 stop 1\n", + "139 bar 1\n", + "\n", + "[140 rows x 2 columns]\n" + ] + } + ], + "source": [ + "df = pd.DataFrame(list(word_freq.items()), columns=['word', 'freq'])\n", + "print(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " word freq\n", + "0 love 25\n", + "1 conversation 1\n", + "2 every 6\n", + "3 we're 1\n", + "4 plate 1\n", + ".. ... ...\n", + "135 bedsheets 3\n", + "136 fill 2\n", + "137 hours 2\n", + "138 stop 1\n", + "139 bar 1\n", + "\n", + "[140 rows x 2 columns]\n" + ] + } + ], + "source": [ + "df= pd.DataFrame([word_freq.keys(), word_freq.values()]).T\n", + "df.columns= ['word', 'freq']\n", + "print(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the Pandas DataFrame, you can sort the values easily with the built-in method `sort_values` ([reference](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html)).\n", + "\n", + "#### Sort `df` ascendingly based on column `word`." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
wordfreq
120a8
109about1
43all1
96although3
72and23
.........
128were3
41where1
54with22
15you16
97your21
\n", + "

140 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " word freq\n", + "120 a 8\n", + "109 about 1\n", + "43 all 1\n", + "96 although 3\n", + "72 and 23\n", + ".. ... ...\n", + "128 were 3\n", + "41 where 1\n", + "54 with 22\n", + "15 you 16\n", + "97 your 21\n", + "\n", + "[140 rows x 2 columns]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "df.sort_values(by='word')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sort `df` ascendingly based on column `freq`." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
wordfreq
139bar1
114let1
116van1
60out1
57it1
.........
0love25
65in27
121my33
56come37
126on40
\n", + "

140 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " word freq\n", + "139 bar 1\n", + "114 let 1\n", + "116 van 1\n", + "60 out 1\n", + "57 it 1\n", + ".. ... ...\n", + "0 love 25\n", + "65 in 27\n", + "121 my 33\n", + "56 come 37\n", + "126 on 40\n", + "\n", + "[140 rows x 2 columns]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "df.sort_values(by='freq')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/Untitled.ipynb b/your-code/Untitled.ipynb new file mode 100644 index 0000000..d3043dc --- /dev/null +++ b/your-code/Untitled.ipynb @@ -0,0 +1,70 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "7dc4fbc8", + "metadata": {}, + "outputs": [], + "source": [ + "word_freq = {'love': 25, 'conversation': 1, 'every': 6, \"we're\": 1, 'plate': 1, 'sour': 1, 'jukebox': 1, 'now': 11, 'taxi': 1, 'fast': 1, 'bag': 1, 'man': 1, 'push': 3, 'baby': 14, 'going': 1, 'you': 16, \"don't\": 2, 'one': 1, 'mind': 2, 'backseat': 1, 'friends': 1, 'then': 3, 'know': 2, 'take': 1, 'play': 1, 'okay': 1, 'so': 2, 'begin': 1, 'start': 2, 'over': 1, 'body': 17, 'boy': 2, 'just': 1, 'we': 7, 'are': 1, 'girl': 2, 'tell': 1, 'singing': 2, 'drinking': 1, 'put': 3, 'our': 1, 'where': 1, \"i'll\": 1, 'all': 1, \"isn't\": 1, 'make': 1, 'lover': 1, 'get': 1, 'radio': 1, 'give': 1, \"i'm\": 23, 'like': 10, 'can': 1, 'doing': 2, 'with': 22, 'club': 1, 'come': 37, 'it': 1, 'somebody': 2, 'handmade': 2, 'out': 1, 'new': 6, 'room': 3, 'chance': 1, 'follow': 6, 'in': 27, 'may': 2, 'brand': 6, 'that': 2, 'magnet': 3, 'up': 3, 'first': 1, 'and': 23, 'pull': 3, 'of': 6, 'table': 1, 'much': 2, 'last': 3, 'i': 6, 'thrifty': 1, 'grab': 2, 'was': 2, 'driver': 1, 'slow': 1, 'dance': 1, 'the': 18, 'say': 2, 'trust': 1, 'family': 1, 'week': 1, 'date': 1, 'me': 10, 'do': 3, 'waist': 2, 'smell': 3, 'day': 6, 'although': 3, 'your': 21, 'leave': 1, 'want': 2, \"let's\": 2, 'lead': 6, 'at': 1, 'hand': 1, 'how': 1, 'talk': 4, 'not': 2, 'eat': 1, 'falling': 3, 'about': 1, 'story': 1, 'sweet': 1, 'best': 1, 'crazy': 2, 'let': 1, 'too': 5, 'van': 1, 'shots': 1, 'go': 2, 'to': 2, 'a': 8, 'my': 33, 'is': 5, 'place': 1, 'find': 1, 'shape': 6, 'on': 40, 'kiss': 1, 'were': 3, 'night': 3, 'heart': 3, 'for': 3, 'discovering': 6, 'something': 6, 'be': 16, 'bedsheets': 3, 'fill': 2, 'hours': 2, 'stop': 1, 'bar': 1}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "71885118", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('a', 8), ('about', 1), ('all', 1), ('although', 3), ('and', 23), ('are', 1), ('at', 1), ('baby', 14), ('backseat', 1), ('bag', 1), ('bar', 1), ('be', 16), ('bedsheets', 3), ('begin', 1), ('best', 1), ('body', 17), ('boy', 2), ('brand', 6), ('can', 1), ('chance', 1), ('club', 1), ('come', 37), ('conversation', 1), ('crazy', 2), ('dance', 1), ('date', 1), ('day', 6), ('discovering', 6), ('do', 3), ('doing', 2), (\"don't\", 2), ('drinking', 1), ('driver', 1), ('eat', 1), ('every', 6), ('falling', 3), ('family', 1), ('fast', 1), ('fill', 2), ('find', 1), ('first', 1), ('follow', 6), ('for', 3), ('friends', 1), ('get', 1), ('girl', 2), ('give', 1), ('go', 2), ('going', 1), ('grab', 2), ('hand', 1), ('handmade', 2), ('heart', 3), ('hours', 2), ('how', 1), ('i', 6), (\"i'll\", 1), (\"i'm\", 23), ('in', 27), ('is', 5), (\"isn't\", 1), ('it', 1), ('jukebox', 1), ('just', 1), ('kiss', 1), ('know', 2), ('last', 3), ('lead', 6), ('leave', 1), ('let', 1), (\"let's\", 2), ('like', 10), ('love', 25), ('lover', 1), ('magnet', 3), ('make', 1), ('man', 1), ('may', 2), ('me', 10), ('mind', 2), ('much', 2), ('my', 33), ('new', 6), ('night', 3), ('not', 2), ('now', 11), ('of', 6), ('okay', 1), ('on', 40), ('one', 1), ('our', 1), ('out', 1), ('over', 1), ('place', 1), ('plate', 1), ('play', 1), ('pull', 3), ('push', 3), ('put', 3), ('radio', 1), ('room', 3), ('say', 2), ('shape', 6), ('shots', 1), ('singing', 2), ('slow', 1), ('smell', 3), ('so', 2), ('somebody', 2), ('something', 6), ('sour', 1), ('start', 2), ('stop', 1), ('story', 1), ('sweet', 1), ('table', 1), ('take', 1), ('talk', 4), ('taxi', 1), ('tell', 1), ('that', 2), ('the', 18), ('then', 3), ('thrifty', 1), ('to', 2), ('too', 5), ('trust', 1), ('up', 3), ('van', 1), ('waist', 2), ('want', 2), ('was', 2), ('we', 7), (\"we're\", 1), ('week', 1), ('were', 3), ('where', 1), ('with', 22), ('you', 16), ('your', 21)]\n" + ] + } + ], + "source": [ + "word_freq_sort=sorted(list(word_freq.items()))\n", + "print(word_freq_sort)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8314f50d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "raw", + "id": "6e4ddcc6", + "metadata": {}, + "source": [ + "word_freq_sort=sorted(word_freq)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/your-code/challenge-1.ipynb b/your-code/challenge-1.ipynb index 2e59d77..c6fbfc1 100644 --- a/your-code/challenge-1.ipynb +++ b/your-code/challenge-1.ipynb @@ -15,11 +15,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "tup= (\"I\",)\n" ] }, { @@ -33,11 +33,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "tuple" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "type(tup)\n" ] }, { @@ -55,13 +66,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'tuple' object has no attribute 'append'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mC:\\Users\\JUANCA~1\\AppData\\Local\\Temp/ipykernel_31256/2921012397.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mtup\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'r'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;31m#It is not possible to append those elements because a tuple is a inmutable object.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'tuple' object has no attribute 'append'" + ] + } + ], "source": [ - "# Your code here\n", - "\n", - "# Your explanation here\n" + "tup.append('r')\n", + "#It is not possible to append those elements because a tuple is a inmutable object." ] }, { @@ -79,13 +101,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 58, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "('I', 'r', 'o', 'n', 'h', 'a', 'c', 'k')" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n", + "lista= list(tup)\n", + "\n", + "lista.append('r')\n", + "lista.append('o')\n", + "lista.append('n')\n", + "lista.append('h')\n", + "lista.append('a')\n", + "lista.append('c')\n", + "lista.append('k')\n", + "\n", + "tup=tuple(lista)\n", + "tup\n", + "\n", "\n", - "# Your explanation here\n" + "\n", + "\n", + "#Se tiene que transformar la tupla en lista y, posteriormente, agregar uno por uno los elementos que pide el ejercicio mediante la función append. " ] }, { @@ -103,11 +150,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r', 'o', 'n')\n", + "('h', 'a', 'c', 'k')\n" + ] + } + ], "source": [ - "# Your code here\n" + "tup=list(tup)\n", + "tup\n", + "\n", + "tup1=tup[0:4]\n", + "tup2=tup[4:]\n", + "\n", + "tup1=tuple(tup1)\n", + "tup2=tuple(tup2)\n", + "\n", + "print(tup1)\n", + "print(tup2)\n", + "\n", + "\n" ] }, { @@ -121,11 +189,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r', 'o', 'n', 'h', 'a', 'c', 'k')\n" + ] + } + ], "source": [ - "# Your code here\n" + "tup3= tup1+tup2\n", + "print(tup3)\n" ] }, { @@ -137,11 +214,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 73, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tienen el mismo número de elementos\n" + ] + } + ], "source": [ - "# Your code here\n" + "\n", + "a=len(tup1)\n", + "b=len(tup2)\n", + "c=len(tup3)\n", + "\n", + "if a+b==c:\n", + " print(\"Tienen el mismo número de elementos\")" ] }, { @@ -153,11 +244,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "tup3.index('h')\n", + "#El ínide de h es el 4" ] }, { @@ -177,11 +280,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a is true\n", + "b es false\n", + "c is true\n", + "d es false\n", + "e es false\n" + ] + } + ], "source": [ - "# Your code here\n" + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "\n", + "for i in letters:\n", + " if i in tup3:\n", + " print( i, 'is true')\n", + " else:\n", + " print(i, 'es false')\n", + " \n" ] }, { @@ -195,17 +317,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "la letra i se repite 1 veces\n", + "la letra i se repite 1 veces\n" + ] + } + ], "source": [ - "# Your code here\n" + "\n", + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "contador=0\n", + "\n", + "for i in letters:\n", + " num=tup3.count(i)\n", + " if num>0:\n", + " print('la letra i se repite', num, 'veces')" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -219,7 +364,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.9.7" } }, "nbformat": 4, diff --git a/your-code/challenge-2.ipynb b/your-code/challenge-2.ipynb index 41d6911..9e86265 100644 --- a/your-code/challenge-2.ipynb +++ b/your-code/challenge-2.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 145, "metadata": {}, "outputs": [], "source": [ @@ -38,11 +38,25 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here\n" + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]\n", + "[30, 81, 47, 90, 77, 48, 26, 33, 70, 80, 83, 61, 57, 71, 12, 19, 78, 56, 68, 1, 65, 95, 41, 72, 8, 5, 15, 94, 98, 60, 73, 82, 45, 23, 20, 66, 29, 25, 13, 4, 52, 10, 91, 16, 59, 88, 37, 36, 11, 62, 79, 39, 74, 34, 7, 100, 46, 49, 85, 75, 38, 31, 54, 97, 2, 67, 89, 22, 87, 50, 69, 76, 40, 21, 9, 42, 18, 0, 44, 53]\n" + ] + } + ], + "source": [ + "ls=list(range(0,101))\n", + "print(ls)\n", + "\n", + "sample_list_1=random.sample(ls, 80)\n", + "print(sample_list_1)\n", + "\n" ] }, { @@ -54,11 +68,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 147, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], "source": [ - "# Your code here\n" + "set1=set(sample_list_1)\n", + "print(set1)" ] }, { @@ -77,11 +100,34 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here\n" + "execution_count": 148, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[59, 84, 35, 85, 90, 36, 58, 86, 34, 43, 50, 51, 21, 1, 7, 81, 49, 95, 81, 82, 17, 72, 49, 64, 69, 66, 4, 64, 18, 39, 35, 52, 79, 16, 9, 38, 60, 67, 39, 91, 47, 77, 86, 25, 35, 53, 88, 79, 28, 48, 64, 16, 58, 30, 7, 18, 45, 59, 52, 47, 69, 17, 25, 12, 79, 89, 12, 94, 30, 41, 17, 21, 20, 85, 74, 92, 56, 67, 36, 18]\n" + ] + }, + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_list_2=[]\n", + "for i in range(80):\n", + " a=random.randrange(1,101)\n", + " sample_list_2.append(a)\n", + "print(sample_list_2)\n", + "type(sample_list_2)\n" ] }, { @@ -93,11 +139,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 149, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "52" + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "set2=set(sample_list_2)\n", + "len(set2)" ] }, { @@ -109,11 +167,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 150, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 2, 5, 8, 10, 11, 13, 15, 19, 22, 23, 26, 29, 31, 33, 37, 40, 42, 44, 46, 54, 57, 61, 62, 65, 68, 70, 71, 73, 75, 76, 78, 80, 83, 87, 97, 98, 100}\n" + ] + } + ], "source": [ - "# Your code here\n" + "set3=set1.difference(set2)\n", + "print(set3)\n" ] }, { @@ -125,11 +192,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 151, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{64, 35, 43, 92, 17, 51, 84, 86, 58, 28}\n" + ] + } + ], "source": [ - "# Your code here\n" + "set4=set2.difference(set1)\n", + "print(set4)\n" ] }, { @@ -141,11 +217,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 152, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 4, 7, 9, 12, 16, 18, 20, 21, 25, 30, 34, 36, 38, 39, 41, 45, 47, 48, 49, 50, 52, 53, 56, 59, 60, 66, 67, 69, 72, 74, 77, 79, 81, 82, 85, 88, 89, 90, 91, 94, 95}\n" + ] + } + ], "source": [ - "# Your code here\n" + "set5=set1.intersection(set2)\n", + "print(set5)\n" ] }, { @@ -165,11 +250,35 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here\n" + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "80\n", + "52\n", + "38\n", + "10\n", + "42\n", + "90\n", + "90\n" + ] + } + ], + "source": [ + "print(len(set1))\n", + "print(len(set2))\n", + "print(len(set3))\n", + "print(len(set4))\n", + "print(len(set5))\n", + "\n", + "x=set1.union(set2)\n", + "print(len(x))\n", + "\n", + "y=len(set3)+len(set4)+len(set5)\n", + "print(y)" ] }, { @@ -181,11 +290,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 154, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "set" + ] + }, + "execution_count": 154, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "set6= set()\n", + "type(set6)" ] }, { @@ -197,11 +318,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 155, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], "source": [ - "# Your code here\n" + "set6.update(set3)\n", + "set6.update(set5)\n", + "print(set6)" ] }, { @@ -213,11 +344,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 156, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], "source": [ - "# Your code here\n" + "print(set1==set6)" ] }, { @@ -229,11 +368,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 157, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], "source": [ - "# Your code here\n" + "print(set1.issubset(set2))\n" ] }, { @@ -247,11 +394,34 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here\n" + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 100}\n", + "{0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97, 98, 100}\n" + ] + }, + { + "data": { + "text/plain": [ + "90" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "w=set3.union(set4, set5)\n", + "print(w)\n", + "w1=w.union(set1, set2)\n", + "print(w1)\n", + "len(w1)" ] }, { @@ -263,11 +433,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 159, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "set1.pop()\n" ] }, { @@ -283,17 +464,34 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 180, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{2, 4, 5, 7, 8, 10, 12, 13, 15, 16, 18, 20, 21, 22, 23, 25, 26, 29, 30, 31, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 88, 89, 90, 91, 94, 95, 97, 98, 100}\n" + ] + } + ], "source": [ - "# Your code here\n" + "list_to_remove = [1, 9, 11, 19, 21, 29, 31, 39, 41, 49, 51, 59, 61, 69, 71, 79, 81, 89, 91, 99]\n", + "list_to_remove=set(list_to_remove) \n", + "\n", + "last=set1.symmetric_difference(list_to_remove)\n", + "\n", + "print(last)\n", + "\n", + "\n", + "\n", + "\n" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -307,7 +505,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.9.7" } }, "nbformat": 4, diff --git a/your-code/challenge-3.ipynb b/your-code/challenge-3.ipynb index 7ab8ea5..2cf16c7 100644 --- a/your-code/challenge-3.ipynb +++ b/your-code/challenge-3.ipynb @@ -15,7 +15,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -49,11 +49,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a', 'about', 'all', 'although', 'and', 'are', 'at', 'baby', 'backseat', 'bag', 'bar', 'be', 'bedsheets', 'begin', 'best', 'body', 'boy', 'brand', 'can', 'chance', 'club', 'come', 'conversation', 'crazy', 'dance', 'date', 'day', 'discovering', 'do', 'doing', \"don't\", 'drinking', 'driver', 'eat', 'every', 'falling', 'family', 'fast', 'fill', 'find', 'first', 'follow', 'for', 'friends', 'get', 'girl', 'give', 'go', 'going', 'grab', 'hand', 'handmade', 'heart', 'hours', 'how', 'i', \"i'll\", \"i'm\", 'in', 'is', \"isn't\", 'it', 'jukebox', 'just', 'kiss', 'know', 'last', 'lead', 'leave', 'let', \"let's\", 'like', 'love', 'lover', 'magnet', 'make', 'man', 'may', 'me', 'mind', 'much', 'my', 'new', 'night', 'not', 'now', 'of', 'okay', 'on', 'one', 'our', 'out', 'over', 'place', 'plate', 'play', 'pull', 'push', 'put', 'radio', 'room', 'say', 'shape', 'shots', 'singing', 'slow', 'smell', 'so', 'somebody', 'something', 'sour', 'start', 'stop', 'story', 'sweet', 'table', 'take', 'talk', 'taxi', 'tell', 'that', 'the', 'then', 'thrifty', 'to', 'too', 'trust', 'up', 'van', 'waist', 'want', 'was', 'we', \"we're\", 'week', 'were', 'where', 'with', 'you', 'your']\n", + "{'a': 8, 'about': 1, 'all': 1, 'although': 3, 'and': 23, 'are': 1, 'at': 1, 'baby': 14, 'backseat': 1, 'bag': 1, 'bar': 1, 'be': 16, 'bedsheets': 3, 'begin': 1, 'best': 1, 'body': 17, 'boy': 2, 'brand': 6, 'can': 1, 'chance': 1, 'club': 1, 'come': 37, 'conversation': 1, 'crazy': 2, 'dance': 1, 'date': 1, 'day': 6, 'discovering': 6, 'do': 3, 'doing': 2, \"don't\": 2, 'drinking': 1, 'driver': 1, 'eat': 1, 'every': 6, 'falling': 3, 'family': 1, 'fast': 1, 'fill': 2, 'find': 1, 'first': 1, 'follow': 6, 'for': 3, 'friends': 1, 'get': 1, 'girl': 2, 'give': 1, 'go': 2, 'going': 1, 'grab': 2, 'hand': 1, 'handmade': 2, 'heart': 3, 'hours': 2, 'how': 1, 'i': 6, \"i'll\": 1, \"i'm\": 23, 'in': 27, 'is': 5, \"isn't\": 1, 'it': 1, 'jukebox': 1, 'just': 1, 'kiss': 1, 'know': 2, 'last': 3, 'lead': 6, 'leave': 1, 'let': 1, \"let's\": 2, 'like': 10, 'love': 25, 'lover': 1, 'magnet': 3, 'make': 1, 'man': 1, 'may': 2, 'me': 10, 'mind': 2, 'much': 2, 'my': 33, 'new': 6, 'night': 3, 'not': 2, 'now': 11, 'of': 6, 'okay': 1, 'on': 40, 'one': 1, 'our': 1, 'out': 1, 'over': 1, 'place': 1, 'plate': 1, 'play': 1, 'pull': 3, 'push': 3, 'put': 3, 'radio': 1, 'room': 3, 'say': 2, 'shape': 6, 'shots': 1, 'singing': 2, 'slow': 1, 'smell': 3, 'so': 2, 'somebody': 2, 'something': 6, 'sour': 1, 'start': 2, 'stop': 1, 'story': 1, 'sweet': 1, 'table': 1, 'take': 1, 'talk': 4, 'taxi': 1, 'tell': 1, 'that': 2, 'the': 18, 'then': 3, 'thrifty': 1, 'to': 2, 'too': 5, 'trust': 1, 'up': 3, 'van': 1, 'waist': 2, 'want': 2, 'was': 2, 'we': 7, \"we're\": 1, 'week': 1, 'were': 3, 'where': 1, 'with': 22, 'you': 16, 'your': 21}\n" + ] + } + ], "source": [ - "# Your code here\n" + "keys=list(word_freq.keys())\n", + "keys.sort()\n", + "print(keys)\n", + "word_freq2={}\n", + "\n", + "for key in keys:\n", + " value=word_freq[key]\n", + " word_freq2[key]=value\n", + "print(word_freq2)" ] }, { @@ -90,11 +107,167 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('conversation', 1), (\"we're\", 1), ('plate', 1), ('sour', 1), ('jukebox', 1), ('taxi', 1), ('fast', 1), ('bag', 1), ('man', 1), ('going', 1), ('one', 1), ('backseat', 1), ('friends', 1), ('take', 1), ('play', 1), ('okay', 1), ('begin', 1), ('over', 1), ('just', 1), ('are', 1), ('tell', 1), ('drinking', 1), ('our', 1), ('where', 1), (\"i'll\", 1), ('all', 1), (\"isn't\", 1), ('make', 1), ('lover', 1), ('get', 1), ('radio', 1), ('give', 1), ('can', 1), ('club', 1), ('it', 1), ('out', 1), ('chance', 1), ('first', 1), ('table', 1), ('thrifty', 1), ('driver', 1), ('slow', 1), ('dance', 1), ('trust', 1), ('family', 1), ('week', 1), ('date', 1), ('leave', 1), ('at', 1), ('hand', 1), ('how', 1), ('eat', 1), ('about', 1), ('story', 1), ('sweet', 1), ('best', 1), ('let', 1), ('van', 1), ('shots', 1), ('place', 1), ('find', 1), ('kiss', 1), ('stop', 1), ('bar', 1), (\"don't\", 2), ('mind', 2), ('know', 2), ('so', 2), ('start', 2), ('boy', 2), ('girl', 2), ('singing', 2), ('doing', 2), ('somebody', 2), ('handmade', 2), ('may', 2), ('that', 2), ('much', 2), ('grab', 2), ('was', 2), ('say', 2), ('waist', 2), ('want', 2), (\"let's\", 2), ('not', 2), ('crazy', 2), ('go', 2), ('to', 2), ('fill', 2), ('hours', 2), ('push', 3), ('then', 3), ('put', 3), ('room', 3), ('magnet', 3), ('up', 3), ('pull', 3), ('last', 3), ('do', 3), ('smell', 3), ('although', 3), ('falling', 3), ('were', 3), ('night', 3), ('heart', 3), ('for', 3), ('bedsheets', 3), ('talk', 4), ('too', 5), ('is', 5), ('every', 6), ('new', 6), ('follow', 6), ('brand', 6), ('of', 6), ('i', 6), ('day', 6), ('lead', 6), ('shape', 6), ('discovering', 6), ('something', 6), ('we', 7), ('a', 8), ('like', 10), ('me', 10), ('now', 11), ('baby', 14), ('you', 16), ('be', 16), ('body', 17), ('the', 18), ('your', 21), ('with', 22), (\"i'm\", 23), ('and', 23), ('love', 25), ('in', 27), ('my', 33), ('come', 37), ('on', 40)]\n", + "('conversation', 1)\n", + "(\"we're\", 1)\n", + "('plate', 1)\n", + "('sour', 1)\n", + "('jukebox', 1)\n", + "('taxi', 1)\n", + "('fast', 1)\n", + "('bag', 1)\n", + "('man', 1)\n", + "('going', 1)\n", + "('one', 1)\n", + "('backseat', 1)\n", + "('friends', 1)\n", + "('take', 1)\n", + "('play', 1)\n", + "('okay', 1)\n", + "('begin', 1)\n", + "('over', 1)\n", + "('just', 1)\n", + "('are', 1)\n", + "('tell', 1)\n", + "('drinking', 1)\n", + "('our', 1)\n", + "('where', 1)\n", + "(\"i'll\", 1)\n", + "('all', 1)\n", + "(\"isn't\", 1)\n", + "('make', 1)\n", + "('lover', 1)\n", + "('get', 1)\n", + "('radio', 1)\n", + "('give', 1)\n", + "('can', 1)\n", + "('club', 1)\n", + "('it', 1)\n", + "('out', 1)\n", + "('chance', 1)\n", + "('first', 1)\n", + "('table', 1)\n", + "('thrifty', 1)\n", + "('driver', 1)\n", + "('slow', 1)\n", + "('dance', 1)\n", + "('trust', 1)\n", + "('family', 1)\n", + "('week', 1)\n", + "('date', 1)\n", + "('leave', 1)\n", + "('at', 1)\n", + "('hand', 1)\n", + "('how', 1)\n", + "('eat', 1)\n", + "('about', 1)\n", + "('story', 1)\n", + "('sweet', 1)\n", + "('best', 1)\n", + "('let', 1)\n", + "('van', 1)\n", + "('shots', 1)\n", + "('place', 1)\n", + "('find', 1)\n", + "('kiss', 1)\n", + "('stop', 1)\n", + "('bar', 1)\n", + "(\"don't\", 2)\n", + "('mind', 2)\n", + "('know', 2)\n", + "('so', 2)\n", + "('start', 2)\n", + "('boy', 2)\n", + "('girl', 2)\n", + "('singing', 2)\n", + "('doing', 2)\n", + "('somebody', 2)\n", + "('handmade', 2)\n", + "('may', 2)\n", + "('that', 2)\n", + "('much', 2)\n", + "('grab', 2)\n", + "('was', 2)\n", + "('say', 2)\n", + "('waist', 2)\n", + "('want', 2)\n", + "(\"let's\", 2)\n", + "('not', 2)\n", + "('crazy', 2)\n", + "('go', 2)\n", + "('to', 2)\n", + "('fill', 2)\n", + "('hours', 2)\n", + "('push', 3)\n", + "('then', 3)\n", + "('put', 3)\n", + "('room', 3)\n", + "('magnet', 3)\n", + "('up', 3)\n", + "('pull', 3)\n", + "('last', 3)\n", + "('do', 3)\n", + "('smell', 3)\n", + "('although', 3)\n", + "('falling', 3)\n", + "('were', 3)\n", + "('night', 3)\n", + "('heart', 3)\n", + "('for', 3)\n", + "('bedsheets', 3)\n", + "('talk', 4)\n", + "('too', 5)\n", + "('is', 5)\n", + "('every', 6)\n", + "('new', 6)\n", + "('follow', 6)\n", + "('brand', 6)\n", + "('of', 6)\n", + "('i', 6)\n", + "('day', 6)\n", + "('lead', 6)\n", + "('shape', 6)\n", + "('discovering', 6)\n", + "('something', 6)\n", + "('we', 7)\n", + "('a', 8)\n", + "('like', 10)\n", + "('me', 10)\n", + "('now', 11)\n", + "('baby', 14)\n", + "('you', 16)\n", + "('be', 16)\n", + "('body', 17)\n", + "('the', 18)\n", + "('your', 21)\n", + "('with', 22)\n", + "(\"i'm\", 23)\n", + "('and', 23)\n", + "('love', 25)\n", + "('in', 27)\n", + "('my', 33)\n", + "('come', 37)\n", + "('on', 40)\n", + "{'conversation': 1, \"we're\": 1, 'plate': 1, 'sour': 1, 'jukebox': 1, 'taxi': 1, 'fast': 1, 'bag': 1, 'man': 1, 'going': 1, 'one': 1, 'backseat': 1, 'friends': 1, 'take': 1, 'play': 1, 'okay': 1, 'begin': 1, 'over': 1, 'just': 1, 'are': 1, 'tell': 1, 'drinking': 1, 'our': 1, 'where': 1, \"i'll\": 1, 'all': 1, \"isn't\": 1, 'make': 1, 'lover': 1, 'get': 1, 'radio': 1, 'give': 1, 'can': 1, 'club': 1, 'it': 1, 'out': 1, 'chance': 1, 'first': 1, 'table': 1, 'thrifty': 1, 'driver': 1, 'slow': 1, 'dance': 1, 'trust': 1, 'family': 1, 'week': 1, 'date': 1, 'leave': 1, 'at': 1, 'hand': 1, 'how': 1, 'eat': 1, 'about': 1, 'story': 1, 'sweet': 1, 'best': 1, 'let': 1, 'van': 1, 'shots': 1, 'place': 1, 'find': 1, 'kiss': 1, 'stop': 1, 'bar': 1, \"don't\": 2, 'mind': 2, 'know': 2, 'so': 2, 'start': 2, 'boy': 2, 'girl': 2, 'singing': 2, 'doing': 2, 'somebody': 2, 'handmade': 2, 'may': 2, 'that': 2, 'much': 2, 'grab': 2, 'was': 2, 'say': 2, 'waist': 2, 'want': 2, \"let's\": 2, 'not': 2, 'crazy': 2, 'go': 2, 'to': 2, 'fill': 2, 'hours': 2, 'push': 3, 'then': 3, 'put': 3, 'room': 3, 'magnet': 3, 'up': 3, 'pull': 3, 'last': 3, 'do': 3, 'smell': 3, 'although': 3, 'falling': 3, 'were': 3, 'night': 3, 'heart': 3, 'for': 3, 'bedsheets': 3, 'talk': 4, 'too': 5, 'is': 5, 'every': 6, 'new': 6, 'follow': 6, 'brand': 6, 'of': 6, 'i': 6, 'day': 6, 'lead': 6, 'shape': 6, 'discovering': 6, 'something': 6, 'we': 7, 'a': 8, 'like': 10, 'me': 10, 'now': 11, 'baby': 14, 'you': 16, 'be': 16, 'body': 17, 'the': 18, 'your': 21, 'with': 22, \"i'm\": 23, 'and': 23, 'love': 25, 'in': 27, 'my': 33, 'come': 37, 'on': 40}\n" + ] + } + ], "source": [ - "# Your code here\n" + "import operator\n", + "sorted_tups = sorted(word_freq.items(), key=operator.itemgetter(1))\n", + "print(sorted_tups)\n", + "word_freq2={}\n", + "for tup in sorted_tups:\n", + " print(tup)\n", + " word_freq2[tup[0]] = tup[1]\n", + "print(word_freq2)" ] }, { @@ -110,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -132,11 +305,65 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " word freq\n", + "0 love 25\n", + "1 conversation 1\n", + "2 every 6\n", + "3 we're 1\n", + "4 plate 1\n", + ".. ... ...\n", + "135 bedsheets 3\n", + "136 fill 2\n", + "137 hours 2\n", + "138 stop 1\n", + "139 bar 1\n", + "\n", + "[140 rows x 2 columns]\n" + ] + } + ], "source": [ - "# Your code here\n" + "df = pd.DataFrame(list(word_freq.items()), columns=['word', 'freq'])\n", + "print(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " word freq\n", + "0 love 25\n", + "1 conversation 1\n", + "2 every 6\n", + "3 we're 1\n", + "4 plate 1\n", + ".. ... ...\n", + "135 bedsheets 3\n", + "136 fill 2\n", + "137 hours 2\n", + "138 stop 1\n", + "139 bar 1\n", + "\n", + "[140 rows x 2 columns]\n" + ] + } + ], + "source": [ + "df= pd.DataFrame([word_freq.keys(), word_freq.values()]).T\n", + "df.columns= ['word', 'freq']\n", + "print(df)" ] }, { @@ -150,11 +377,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
wordfreq
120a8
109about1
43all1
96although3
72and23
.........
128were3
41where1
54with22
15you16
97your21
\n", + "

140 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " word freq\n", + "120 a 8\n", + "109 about 1\n", + "43 all 1\n", + "96 although 3\n", + "72 and 23\n", + ".. ... ...\n", + "128 were 3\n", + "41 where 1\n", + "54 with 22\n", + "15 you 16\n", + "97 your 21\n", + "\n", + "[140 rows x 2 columns]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "df.sort_values(by='word')\n" ] }, { @@ -166,17 +502,126 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
wordfreq
139bar1
114let1
116van1
60out1
57it1
.........
0love25
65in27
121my33
56come37
126on40
\n", + "

140 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " word freq\n", + "139 bar 1\n", + "114 let 1\n", + "116 van 1\n", + "60 out 1\n", + "57 it 1\n", + ".. ... ...\n", + "0 love 25\n", + "65 in 27\n", + "121 my 33\n", + "56 come 37\n", + "126 on 40\n", + "\n", + "[140 rows x 2 columns]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "df.sort_values(by='freq')" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -190,7 +635,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.9.7" } }, "nbformat": 4,