Normas para strings, listas y sets - Python avanzado - Capítulo 7


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 caracter de un string

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

Código

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

Resultado

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:

Código

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

colores.add("Naranja")

print(colores)

Resultado

{'rojo', 'verde', 'azul', 'amarillo'}
{'Naranja', 'amarillo', 'verde', 'azul', 'rojo'}

¿Pero qué pasa si queremos prevenir estos cambios?

Podemos utilizar frozen sets, con lo que congelaremos el set y será inmutable.

Código

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

colores.add("Naranja") 

print(colores)

Resultado

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:

Código

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

Resultado

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:

Código

print(colores[2] * 5)

Resultado

verdeverdeverdeverdeverde

Suscríbete a mi canal de YouTube para apoyarme

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.


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.