{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Métodos de los conjuntos" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c = set()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### add(): Añade un ítem a un conjunto, si ya existe no lo añade" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c.add(1)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c.add(2)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c.add(3)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### discard(): Borra un ítem de un conjunto" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c.discard(1)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{2, 3}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c.add(1)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c2 = c" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c2.add(4)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### copy(): Crea una copia de un conjunto\n", "*Recordad que los tipos compuestos no se pueden copiar, son como accesos directos por referencia*" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c2 = c.copy()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4}" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c2" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c2.discard(4)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c2" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4}" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### clear(): Borra todos los ítems de un conjunto" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c2.clear()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "set()" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparación de conjuntos" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1 = {1,2,3}\n", "c2 = {3,4,5}\n", "c3 = {-1,99}\n", "c4 = {1,2,3,4,5}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### isdisjoint(): Comprueba si el conjunto es disjunto de otro conjunto\n", "*Si no hay ningún elemento en común entre ellos*" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.isdisjoint(c2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### issubset(): Comprueba si el conjunto es subconjunto de otro conjunto\n", "*Si sus ítems se encuentran todos dentro de otro*" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c3.issubset(c4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### issuperset(): Comprueba si el conjunto es contenedor de otro subconjunto\n", "*Si contiene todos los ítems de otro*" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c3.issuperset(c1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Métodos avanzados\n", "Se utilizan para realizar uniones, diferencias y otras operaciones avanzadas entre conjuntos.\n", "\n", "Suelen tener dos formas, la normal que **devuelve** el resultado, y otra que hace lo mismo pero **actualiza** el propio resultado." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1 = {1,2,3}\n", "c2 = {3,4,5}\n", "c3 = {-1,99}\n", "c4 = {1,2,3,4,5}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### union(): Une un conjunto a otro y devuelve el resultado en un nuevo conjunto" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.union(c2) == c4" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4, 5}" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.union(c2)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3}" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{3, 4, 5}" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### update(): Une un conjunto a otro en el propio conjunto" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1.update(c2)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 3, 4, 5}" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### difference(): Encuentra los elementos no comunes entre dos conjuntos" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1 = {1,2,3}\n", "c2 = {3,4,5}\n", "c3 = {-1,99}\n", "c4 = {1,2,3,4,5}" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2}" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.difference(c2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### difference_update(): Guarda en el conjunto los elementos no comunes entre dos conjuntos" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1.difference_update(c2)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2}" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### intersection(): Devuelve un conjunto con los elementos comunes en dos conjuntos" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1 = {1,2,3}\n", "c2 = {3,4,5}\n", "c3 = {-1,99}\n", "c4 = {1,2,3,4,5}" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{3}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.intersection(c2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### intersection_update(): Guarda en el conjunto los elementos comunes entre dos conjuntos" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{3}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.intersection_update(c2)\n", "c1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### symmetric_difference(): Devuelve los elementos simétricamente diferentes entre dos conjuntos\n", "*Todos los elementos que no concuerdan entre los dos conjuntos*" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c1 = {1,2,3}\n", "c2 = {3,4,5}\n", "c3 = {-1,99}\n", "c4 = {1,2,3,4,5}" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{1, 2, 4, 5}" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c1.symmetric_difference(c2)" ] } ], "metadata": { "kernelspec": { "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", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }