{"id":5626,"date":"2012-09-25T18:13:00","date_gmt":"2012-09-25T16:13:00","guid":{"rendered":"http:\/\/elclubdelautodidacta.es\/wp\/?p=5626"},"modified":"2012-09-25T17:15:08","modified_gmt":"2012-09-25T15:15:08","slug":"python-te-repites-mas-que-el-ajo","status":"publish","type":"post","link":"http:\/\/elclubdelautodidacta.es\/wp\/2012\/09\/python-te-repites-mas-que-el-ajo\/","title":{"rendered":"Python: Te repites m\u00e1s que el ajo"},"content":{"rendered":"<p><a href=\"http:\/\/elclubdelautodidacta.es\/wp\/wp-content\/uploads\/2011\/12\/ECDA-python.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/elclubdelautodidacta.es\/wp\/wp-content\/uploads\/2011\/12\/ECDA-python.png\" alt=\"\" title=\"ECDA-python\" width=\"181\" height=\"242\" class=\"alignleft size-full wp-image-2584\" \/><\/a><em><strong>Objetivo<\/strong>: aprender a contar las veces que un determinado elemento se repite dentro de una secuencia en Python.<\/em><\/p>\n<p>Tarde o temprano tendr\u00e1s la necesidad de saber cu\u00e1ntas veces ocurre una letra o palabra en determinada frase, o las veces que un elemento aparece en una <em>lista <\/em>o <em>tupla<\/em>.<\/p>\n<p>Estos tres tipos, <em>strings<\/em>, <em>listas <\/em>y <em>tuplas<\/em>, pertenecen a la categor\u00eda de <strong>secuencias <\/strong>en Python, y como buenos amigos, comparten una serie de <strong>m\u00e9todos comunes<\/strong>.<\/p>\n<p>Uno de ellos es <strong><code class=\"preserve-code-formatting\">count()<\/code><\/strong>, que nos sirve para saber cu\u00e1ntas veces sucede un elemento dentro de una secuencia.<\/p>\n<p>Imag\u00ednate la siguiente lista:<\/p>\n<p><pre><code class=\"preserve-code-formatting\">&gt;&gt;&gt; lista = [3, 7, 6, 2, 1, 7, 3, 1, 1, 5]\n<\/code><\/pre><\/p>\n<p>\u00bfCu\u00e1ntas veces aparece el n\u00famero 1? \u00bfY el 4?<\/p>\n<p><pre><code class=\"preserve-code-formatting\">&gt;&gt;&gt; lista.count(1)\n3\n&gt;&gt;&gt; lista.count(4)\n0<\/code><\/pre><\/p>\n<p>Con las tuplas es exactamente lo mismo.<\/p>\n<p>Consideremos ahora una cadena de caracteres:<\/p>\n<p><pre><code class=\"preserve-code-formatting\">&gt;&gt;&gt; frase = &#039;la casa de la pradera&#039;\n<\/code><\/pre><\/p>\n<p>\u00bfCu\u00e1ntas <em>aes <\/em>hay? \u00bfCu\u00e1ntas veces est\u00e1 la cadena &#8216;la&#8217;?<\/p>\n<p><pre><code class=\"preserve-code-formatting\">&gt;&gt;&gt; frase.count(&#039;a&#039;)\n6\n&gt;&gt;&gt; frase.count(&#039;la&#039;)\n2<\/code><\/pre><\/p>\n<p>Voy a proponerte un problema para que lo madures. Toma la cadena <code class=\"preserve-code-formatting\">s = &#039;lalalala&#039;<\/code><\/p>\n<p>\u00bfQu\u00e9 crees que devolver\u00e1 <code class=\"preserve-code-formatting\">s.count(&#039;ala&#039;)<\/code>? \u00bfPor qu\u00e9?<\/p>\n<p>El m\u00e9todo <strong><code class=\"preserve-code-formatting\">count()<\/code><\/strong>, aplicado a un <em>string<\/em>, tiene algunas sutilezas m\u00e1s respecto a su versi\u00f3n para <em>listas <\/em>o <em>tuplas<\/em>. Hablaremos de ellas en otro momento.<\/p>\n<p>Anoche, mientras trabajaba en un programa, me encontr\u00e9 con una lista de 325 <em>strings <\/em>en la que sab\u00eda a ciencia cierta que deber\u00edan haber sido 324. Uno de ellos estaba duplicado y era preciso saber cu\u00e1l.<\/p>\n<p>Hay muchas maneras de resolver este problema sencillo, sin necesidad de ponerme a buscar a pelo de uno en uno. Una de ellas emplea el m\u00e9todo <strong><code class=\"preserve-code-formatting\">count()<\/code><\/strong>.<\/p>\n<p><pre><code class=\"preserve-code-formatting\">for elemento in lista:\n&nbsp;&nbsp;&nbsp;&nbsp;if lista.count(elemento) &gt; 1:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(elemento)<\/code><\/pre><\/p>\n<p>Recorremos de principio a fin la lista con un bucle <em>for <\/em>y en cada parada hacemos una comprobaci\u00f3n: si el n\u00famero de veces que aparece  ese elemento es mayor que uno, lo mostramos.<\/p>\n<p>Tras lo cual apareci\u00f3 el poliz\u00f3n (que, naturalmente, se mostr\u00f3 dos veces) y pude deshacerme de \u00e9l.<\/p>\n<p><strong><span style=\"color: #808080;\">Javier Montero Gabarr\u00f3<\/span><\/strong><\/p>\n<hr \/>\n<blockquote data-secret=\"1gvkM5tzIu\" class=\"wp-embedded-content\"><p><a href=\"http:\/\/elclubdelautodidacta.es\/wp\/2012\/09\/python-te-repites-mas-que-el-ajo\/\">Python: Te repites m\u00e1s que el ajo<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"display:none;\" src=\"http:\/\/elclubdelautodidacta.es\/wp\/2012\/09\/python-te-repites-mas-que-el-ajo\/embed\/#?secret=1gvkM5tzIu\" data-secret=\"1gvkM5tzIu\" width=\"600\" height=\"338\" title=\"Entrada de WordPress incrustada\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<hr \/>\n<p>El texto de este art\u00edculo se encuentra sometido a una licencia <em>Creative Commons<\/em> del tipo <strong>CC-BY-NC-ND<\/strong> (reconocimiento, no comercial, sin obra derivada, 3.0 unported)<\/p>\n<hr \/>\n<p><em>El Club del Autodidacta<\/em><\/p>\n<hr \/>\n<p>Consulta el \u00edndice completo de art\u00edculos relacionados con <a href=\"http:\/\/elclubdelautodidacta.es\/wp\/indice-python\/\">Python<\/a>.<\/p>\n<div class=\"SPOSTARBUST-Related-Posts\"><H3>Tal vez te interese...<\/H3><ul class=\"entry-meta\"><li class=\"SPOSTARBUST-Related-Post\"><a title=\"Python &#8211; Buscando a Wally.txt\" href=\"http:\/\/elclubdelautodidacta.es\/wp\/2016\/02\/python-buscando-a-wally-txt\/\" rel=\"bookmark\">Python &#8211; Buscando a Wally.txt<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Python &#8211; Troceando desde el lado izquierdo\" href=\"http:\/\/elclubdelautodidacta.es\/wp\/2015\/12\/python-troceando-desde-el-lado-izquierdo\/\" rel=\"bookmark\">Python &#8211; Troceando desde el lado izquierdo<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Comparando objetos en Python\" href=\"http:\/\/elclubdelautodidacta.es\/wp\/2015\/06\/comparando-objetos-en-python\/\" rel=\"bookmark\">Comparando objetos en Python<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Python &#8211; Sumando objetos\" href=\"http:\/\/elclubdelautodidacta.es\/wp\/2015\/05\/python-sumando-objetos\/\" rel=\"bookmark\">Python &#8211; Sumando objetos<\/a><\/li>\n<li class=\"SPOSTARBUST-Related-Post\"><a title=\"Python &#8211; Una tortuga de brocha fina\" href=\"http:\/\/elclubdelautodidacta.es\/wp\/2014\/12\/python-una-tortuga-de-brocha-fina\/\" rel=\"bookmark\">Python &#8211; Una tortuga de brocha fina<\/a><\/li>\n<\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Objetivo: aprender a contar las veces que un determinado elemento se repite dentro de una secuencia en Python. Tarde o temprano tendr\u00e1s la necesidad de saber cu\u00e1ntas veces ocurre una letra o palabra en determinada frase, o las veces que un elemento aparece en una lista o tupla. Estos tres tipos, strings, listas y tuplas, &hellip; <a href=\"http:\/\/elclubdelautodidacta.es\/wp\/2012\/09\/python-te-repites-mas-que-el-ajo\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abPython: Te repites m\u00e1s que el ajo\u00bb<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[8],"tags":[403,503],"class_list":["post-5626","post","type-post","status-publish","format-standard","hentry","category-python","tag-count","tag-python"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1PGgv-1sK","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/posts\/5626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/comments?post=5626"}],"version-history":[{"count":14,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/posts\/5626\/revisions"}],"predecessor-version":[{"id":5640,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/posts\/5626\/revisions\/5640"}],"wp:attachment":[{"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/media?parent=5626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/categories?post=5626"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/elclubdelautodidacta.es\/wp\/wp-json\/wp\/v2\/tags?post=5626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}