Curso de Python avanzado

Ejemplos variados sobre el uso de strings listas y sets

Capítulo 7: Normas para strings, listas y sets

En este capítulo aprenderás unas cuantas cosas sobre strings, listas y sets. También verás cómo utilizar frozenset para convertir sets en inmutables.

Acceder por separado a cada carácter de un string

Es posible acceder por separado a cada uno de los caracteres de un string.

texto = "Programación fácil."
print(texto[0])
print(texto[0:15])

Con 0 accedemos a la primera posición del string, como si de una lista se tratara. También podemos especificar un rango de caracteres.

P
Programación fá

Convertir sets en inmutables

Los sets son mutables, por lo que pueden variar, podemos añadir sin problema nuevos elementos cómo naranja:

colores = {'rojo', 'azul', 'rojo', 'verde', 'amarillo', 'azul'}
print(colores)

colores.add("Naranja")

print(colores)
{'rojo', 'verde', 'azul', 'amarillo'}
{'Naranja', 'amarillo', 'verde', 'azul', 'rojo'}

¿Pero qué pasa si queremos prevenir estos cambios?

En ese caso, puedes utilizar frozen sets, con lo que congelaremos el set y será inmutable.

colores = frozenset({'rojo', 'azul', 'rojo', 'verde', 'amarillo', 'azul'})
print(colores)

colores.add("Naranja")

print(colores)

Si intentas ejecutar esto, recibirás un AttributeError que nos dirá que frozenset no tiene el atributo add.

Traceback (most recent call last):
File "RUTA DEL ARCHIVO", line X, in module
colores.add("Naranja")
AttributeError: 'frozenset' object has no attribute 'add'

Puedes hacer la prueba de que no da error si quitas el add.

Multiplicando la llamada de listas Python

Termino el capítulo mostrándote una forma curiosa para llamar a listas multiplicando.

Tengo estas dos listas:

colores = ['rojo', 'azul', 'verde', 'amarillo']
print(colores * 5)

El resultado es que con esta multiplicación en la llamada, estamos multiplicándola por 5, con lo que devuelve el contenido de la lista 5 veces.

['rojo', 'azul', 'verde', 'amarillo', 'rojo', 'azul', 'verde', 'amarillo', 'rojo', 'azul', 'verde', 'amarillo', 'rojo', 'azul', 'verde', 'amarillo', 'rojo', 'azul', 'verde', 'amarillo']

Lo mismo puedes hacer llamado a elementos de la lista:

print(colores[2] * 5)
verdeverdeverdeverdeverde

Comentarios

Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.