{ "cells": [ { "cell_type": "markdown", "id": "b0761131-44c3-46b5-96c3-d658c77b4fdf", "metadata": { "tags": [] }, "source": [ "Strings - Slicing --- 5 min\n", "===\n", "\n", "* 5 min | Última modificación: Octubre 4, 2021" ] }, { "cell_type": "code", "execution_count": 1, "id": "1cc18abc-0682-4662-92fb-3b3303a38acb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# La función len calcula la longitud de una cadena de caracteres.\n", "#\n", "s = \"Python\"\n", "len(s)" ] }, { "cell_type": "markdown", "id": "5a8fbfd6-20a8-4fa3-bc1b-523330efc630", "metadata": {}, "source": [ "En Python, los strings son vectores de caracteres; el primer caracter ocupa la posición 0, el segundo la 1 y así sucesivamente. Los índices negativos (iniciando en `-1`) se usan para indicar la posición contando desde atrás. Por ejemplo: \n", " \n", " +---+---+---+---+---+---+\n", " | P | y | t | h | o | n |\n", " +---+---+---+---+---+---+\n", " 0 1 2 3 4 5 \n", " -6 -5 -4 -3 -2 -1" ] }, { "cell_type": "code", "execution_count": 2, "id": "f5bb9cb2-f9f0-462f-9e52-2fc17d80bf5b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'P'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Caracter en la posición 0\n", "#\n", "word = \"Python\"\n", "word[0] # Primer caracter" ] }, { "cell_type": "code", "execution_count": 3, "id": "547e0e6c-5436-461c-8d7d-efa6db205bea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'n'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "#\n", "# Caracter en la posición 5\n", "#\n", "word[5] # Sexto caracter" ] }, { "cell_type": "code", "execution_count": 4, "id": "69df2cba-5c52-43f1-9774-5f118f68087b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'n'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "#\n", "# Ultimo caracter\n", "#\n", "word[-1]" ] }, { "cell_type": "code", "execution_count": 5, "id": "b5cc9d19-0d3e-4573-a3ca-af8ffb89ed1c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'o'" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Antepenúltimo caracter\n", "#\n", "word[-2]" ] }, { "cell_type": "code", "execution_count": 6, "id": "ef5896ae-c756-4ed0-b9df-16e648e605f5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'P'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Primer caracter\n", "#\n", "word[-6]" ] }, { "cell_type": "code", "execution_count": 7, "id": "307a3572-dbda-4d8a-9044-59ed2cb58fda", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Py'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# El operador `:` se usa para indicar rangos\n", "#\n", "word[0:2]" ] }, { "cell_type": "code", "execution_count": 8, "id": "ea553c9c-4fb3-4092-a005-b300c9e775e7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Py'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# ':2' indica desde el principio hasta la\n", "# posición 2 (sin incluirla)\n", "#\n", "word[:2]" ] }, { "cell_type": "code", "execution_count": 9, "id": "bc887492-9f8e-4072-a499-5f7f5ff403ca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'tho'" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Caracteres en las posiciones 2, 3 y 4\n", "#\n", "word[2:5]" ] }, { "cell_type": "code", "execution_count": 10, "id": "eb7cb9b7-9da8-4972-9f0a-ebd33391fce4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'thon'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Desde la posición 2 hasta el final\n", "#\n", "word[2:]" ] }, { "cell_type": "code", "execution_count": 11, "id": "e97fbeb2-68f5-4c0d-bdf7-01c10dfd1723", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Python'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Hasta la posición 2 + De la posición 2 en adelante\n", "# \"Py\" + \"thon\"\n", "#\n", "word[:2] + word[2:]" ] }, { "cell_type": "code", "execution_count": 12, "id": "dd3ce2f0-98d0-42fb-80f2-a9fdc655bc5b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'on'" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "# Desde la posición -2 hasta el final,\n", "# o sea, los últimos dos caracteres.\n", "#\n", "word[-2:]" ] }, { "cell_type": "code", "execution_count": 13, "id": "6e97abcd-ef40-4d2f-8b78-50ace5360ced", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'yth'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+\n", "# | P | y | t | h | o | n |\n", "# +---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 \n", "# -6 -5 -4 -3 -2 -1\n", "# \n", "word[-5:-2]" ] }, { "cell_type": "code", "execution_count": 14, "id": "3377a426-3892-4912-893b-57c026c5b1f1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Python'" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# Desde el primero hasta el último caracter.\n", "# Genera una copia\n", "#\n", "word[:]" ] }, { "cell_type": "code", "execution_count": 15, "id": "85ecd63b-6804-424c-88f1-841ac815c245", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'hl ud re!'" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n", "# | h | o | l | a | | m | u | n | d | o | | c | r | u | e | l | | ! |\n", "# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17\n", "# \n", "phrase = \"hola mundo cruel!\"\n", "\n", "phrase[::2]" ] }, { "cell_type": "code", "execution_count": 16, "id": "891b44b8-7ed6-41f1-a2ad-9aeac93ea3a1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'oamn'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#\n", "# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n", "# | h | o | l | a | | m | u | n | d | o | | c | r | u | e | l | | ! |\n", "# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+\n", "# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17\n", "# \n", "phrase = \"hola mundo cruel!\"\n", "\n", "phrase[1:9:2]" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.10.7 ('.venv': venv)", "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.10.7" }, "vscode": { "interpreter": { "hash": "99683f87c1354598af39114791cc78b29c5617e49c4bfa4c5fb7492534eeeb87" } } }, "nbformat": 4, "nbformat_minor": 5 }