Crear una lista con todos los caracteres que contiene una frase dada.
sorted(lista)
se puede imprimir la lista ordenada pero la lista internamente no cambiafrase = "Hola mundo"
lista = [] # inicializamos una lista vacía
for caracter in frase: # recorremos todos los caracteres de la frase
if caracter not in lista: # si el carácter no está en la lista
lista.append(caracter) # añadimos el carácter a la lista
print(lista)
print(sorted(lista)) # imprimimos la lista ordenada
lista # la lista no se ha ordenado
['H', 'o', 'l', 'a', ' ', 'm', 'u', 'n', 'd'] [' ', 'H', 'a', 'd', 'l', 'm', 'n', 'o', 'u']
['H', 'o', 'l', 'a', ' ', 'm', 'u', 'n', 'd']
Con caracteres repetidos.
frase = "Hola mundo"
lista_caracteres = list(frase)
print(lista_caracteres)
['H', 'o', 'l', 'a', ' ', 'm', 'u', 'n', 'd', 'o']
Set
convierte los caracteres en un conjuntolist
convertimos el conjunto en una listafrase = "Hola mundo"
lista_caracteres_unicos = list(set(frase))
print(lista_caracteres_unicos)
['H', 'l', 'd', 'u', 'o', 'm', 'a', 'n', ' ']
Dado un número entero largo contar cuantas veces aparece cada dígito.
# Los primeros 100 decimales de pi
numero = "1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679"
for i in range(10):
print(i, '→', numero.count(str(i)))
0 → 8 1 → 8 2 → 12 3 → 11 4 → 10 5 → 8 6 → 9 7 → 8 8 → 12 9 → 14
numero = "1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679"
for digito in range(10):
cantidad = numero.count(str(digito))
print(f"{digito} → {cantidad}")
count
get()
se utiliza para obtener el valor de una clave en un diccionario.get()
para obtener la cantidad de veces que aparece cada dígito en el diccionario frecuencias.get()
devuelve 0.numero = "1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679"
frecuencias = {} # creamos un diccionario vacío
for digito in numero:
if digito in frecuencias:
frecuencias[digito] += 1 # si el dígio ya existía se incrementa su frecuencia
else:
frecuencias[digito] = 1 # si el dígito es nuevo se crea con frecuencia 1
for digito in range(10): # sabemos que los dígitos van del 0 al 9
cantidad = frecuencias.get(str(digito), 0)
print(f"{digito} → {cantidad}")
0 → 8 1 → 8 2 → 12 3 → 11 4 → 10 5 → 8 6 → 9 7 → 8 8 → 12 9 → 14
close
¿Por qué debemos cerrar con close
los archivos?
# así efectuamos el clonado de nuestro repositorio que está en GitHub
!git clone https://github.com/financieras/pyCourse.git
Cloning into 'pyCourse'... remote: Enumerating objects: 3903, done. remote: Counting objects: 100% (628/628), done. remote: Compressing objects: 100% (249/249), done. remote: Total 3903 (delta 453), reused 521 (delta 379), pack-reused 3275 Receiving objects: 100% (3903/3903), 4.73 MiB | 13.92 MiB/s, done. Resolving deltas: 100% (2814/2814), done.
# nos vamos hasta el directorio ejemplos
%cd pyCourse/ejemplos
/content/pyCourse/ejemplos
palabra = 'father'
f = open("frankenstein.txt") # abrimos el archivo y lo asignamos a la variable f (file)
libro = f.read() # leemos el fichero
n = libro.count(palabra) # contamos la palabra, es case sensitive
f.close() # cerramos el fichero
print(f"En la novela la palabra {palabra} aparece {n} veces.")
En la novela la palabra father aparece 134 veces.
with
se utiliza para garantizar que el archivo se cierre correctamente después de que se complete la lectura.r
en la segunda parte de la línea indica que el archivo se abrirá en modo de lectura.w
with open('frankenstein.txt', 'r') as file:
text = file.read()
count = text.count('father')
print(count)
134
Este código lee el archivo frankenstein.txt desde una dirección URL y cuenta cuántas veces aparece la palabra “father” en el archivo.
urllib.request
url
como la dirección URL del archivo frankenstein.txt.urllib.request.urlopen()
y almacena el resultado en la variable response
.response.read()
y almacena el resultado en la variable data.data.decode('utf-8')
y almacena el resultado en la variable text
.text.count('father')
y almacena el resultado en la variable count
.count
.import urllib.request
url = 'https://github.com/financieras/pyCourse/blob/main/ejemplos/frankenstein.txt'
response = urllib.request.urlopen(url)
data = response.read()
text = data.decode('utf-8')
count = text.count('father')
print(count)
134