Vamos a ver cómo obtener el índice numérico de un carácter o letra en una cadena de Python 3. No importa si lo que buscamos es un simple carácter o una subcadena, ambas formas serán cubiertas.

Usar find e index para buscar posición de carácter en cadena con Python 3

Usar find e index para buscar posición de carácter en cadena con Python 3

Los métodos de las cadenas que tiene Python para resolver este problema son dos: find e index. Vamos a explicar cómo se usa cada uno de ellos con ejemplos.

Lo que haremos

Obtener un índice numérico (comenzando con cero) que indique, a partir de una cadena, en dónde tiene la primer ocurrencia de una subcadena o carácter.

Usar find para buscar el índice de una subcadena o carácter en una cadena

Para esto, las cadenas tienen el método find. Este método recibe otra cadena, la cual puede ser de cualquier tamaño. Devuelve -1 si no la encuentra, y un número mayor o igual a 0 en caso de que sí la encuentre.

Veamos un ejemplo:

Por cierto, esto devuelve la primer ocurrencia. Si queremos que comience a buscar desde determinado índice, podemos usar el segundo argumento, el cual es un número.

Igualmente, si queremos que busque hasta determinado índice, podemos especificar el segundo argumento para que no busque más allá.

Con index

Las cadenas en Python también tienen el método index, el cual es idéntico a find excepto por una cosa: si no se encuentra una subcadena, se lanza una excepción en lugar de devolver -1. Veamos el ejemplo:

Como se ve, es lo mismo que lo que hicimos con find, pero ahora con la función index en Python. Para cachar la excepción usamos un bloque try except.

Apuntes

Con estos métodos podemos buscar el índice de la primera ocurrencia, luego el de la segunda ocurrencia  (usando el segundo argumento para comenzar a buscar desde determinado lugar) y así sucesivamente. Esto sirve para muchas cosas en la práctica.

Por cierto, aquí puedes ver cómo recorrer cadenas carácter por carácter en Python.

Descargar ejemplos

Eres libre de copiar los ejemplos. Primero cópialos y guárdalos en un archivo con extensión py. Más tarde, con la terminal navega hasta ellos y ejecuta python nombre_de_archivo.py. Para tener a Python en la PATH mira este tutorial.

Probar ejemplos en línea

Puedes ejecutar el código directamente en el navegador y probarlos sin quebrarte la cabeza:

El de arriba es usando find, y el siguiente es en donde se usa index:

¿Encontraste lo que buscabas?

Si es así, suscríbete para que estés enterado de mis nuevos posts sobre programación e informática

Estoy interesado en trabajar contigo de manera remota para llevar tu idea a la realidad, formar parte de tu equipo de desarrolladores, ayudarte con tu tarea, dar asesorías y todo lo relacionado con tecnología y programación. Contáctame para más información
No te vayas sin seguirme en Twitter, Facebook y GitHub
Si tienes dudas déjalas en un comentario, pero asegúrate de seguirme antes como agradecimiento (no te cuesta nada y me ayudas mucho)


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

1 Comment

Pangrama en Python - Parzibyte's blog · abril 21, 2019 a las 6:01 am

[…] letra por letra (o sea, primero la a, luego la b y así, sin importar el orden) y vamos comprobando que cada letra esté en la cadena que estamos […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
A %d blogueros les gusta esto: