¿Qué son las listas de Python?
Las listas son estructuras de datos que se utilizan para almacenar colecciones ordenadas de elementos. Estos elementos pueden ser de cualquier tipo, como números, cadenas de caracteres, booleanos o incluso otras listas.
Espacio publicitario
¿Array y lista son lo mismo?
Esto es una lista de Python:
camiseta = ["rojo", "L", 100, 10]
Si ya sabes programar en algún lenguaje de programación, habrás tratado el tema de los arrays o arreglos. En ese caso puede que te preguntes si las listas de Python son lo mismo.
Las listas son estructuras muy parecidas a los array (en algunos aspectos). Sin embargo, no son arrays estrictamente hablando.
Los arrays en casi todos los lenguajes de programación, son estructuras de datos que almacenan una secuencia de elementos del mismo tipo.
Por ejemplo, en Java, un array se ve así:
int[] array = {1, 2, 3, 4, 5};
Java no admite que tengamos diferentes tipos de datos en sus arrays.
En cambio, las listas de Python son capaces de almacenar diferentes tipos de datos mezclados, si es lo que queremos, claro. Aunque perfectamente pueden ser todos del mismo tipo de dato.
Hay detalles técnicos que marcan la diferencia, pero no son relevantes para una introducción a las listas de Python.
¿Para qué queremos listas en Python?
Gracias a las listas, podremos agrupar datos que estén relacionados. Mira este ejemplo con cuatro variables:
# Camiseta
color = "rojo"
talla = "L"
precio = 100
cantidad = 10
Supongamos que estas variables, están escritas para representar los atributos que describen a un producto textil, como una camiseta.
En principio, mirando las variables así, podemos pensar que están relacionadas, y que están describiendo el color, la talla, el precio y la cantidad de existencias (stock) de ese producto.
Espacio publicitario
Sin embargo, estas variables no tienen una relación real entre ellas. Son solo datos sueltos, en cuatro variables sueltas.
¿No sería genial agrupar estos datos?
Si agrupamos los datos con una lista, los tendremos almacenados en una sola variable, tengamos cuatro datos, o quinientos.
Gracias al paradigma de la programación orientada a objetos, podrás hacer cosas más complejas que estas agrupaciones de lista.
Lista en inglés se dice list.
Sintaxis de una lista Python
La sintaxis de las listas de Python es la siguiente:
[elemento1, elemento2, elemento3, .]
Una lista se crea con unos corchetes []
, y
entre ellos especificamos tantos elementos como queramos,
separados por comas.
Los elementos pueden ser de cualquier tipo que soporte
Python, ya sea str
, bool
,
int
, float
…
Las listas son consideradas como tipos de datos (objetos
en Python). Concretamente, el tipo de dato de una lista,
es list
.
Creando una lista de Python
Ahora, vamos a crear la lista con los datos de antes:
color = "rojo"
talla = "L"
precio = 100
cantidad = 10
Para este propósito, vamos a guardar la lista dentro de una variable, así podremos manejarla, al estar asociada a un identificador:
camiseta = ["rojo", "L", 100, 10]
Ahora tenemos todos los datos asociados a un solo elemento. Gracias a esto, hemos simplificado el código.
¿Cómo se muestra una lista en la consola?
Para imprimir una lista como la anterior, solo tienes que llamar a la variable que la contiene:
camiseta = ["rojo", "L", 100, 10]
print(camiseta)
['rojo', 'L', 100, 10]
Espacio publicitario
índice de posiciones en las listas
El índice de posición es una numeración que tienen las listas en cada una de sus posiciones. Gracias a este índice, podemos manipular cada elemento de la lista de manera individual.
El índice de posición de una lista empieza a contar
desde el número 0
.
Veamos la siguiente lista:
colores = ["azul", "verde", "rojo"]
En esta lista las posiciones del índice serán las siguientes:
"azul"
: posición0
"verde"
: posición1
"rojo"
: posición2
Entonces, contaremos un total de tres elementos en
la lista. Estos
con las posiciones de índice del 0
al
2
.
Sintaxis de asignación en listas
Para asignar un valor a cierta posición de una lista, lo haremos de forma parecida a la asignación de valores a las variables. Solo que tendremos que añadir un valor extra, el conocido como índice de posición.
En el siguiente ejemplo, estoy reasignando el valor
"amarillo"
a la posición 0
del
índice de la lista colores:
colores = ["azul", "verde", "rojo"]
# Reasigna el valor a la posición 0 de la lista
colores[0] = "amarillo"
# Imprime el resultado
print(colores)
['amarillo', 'verde', 'rojo']
El valor que está sobre la posición indicada entre los corchetes, es reasignado con el nuevo valor
Entonces, el valor anterior, "azul"
, ha sido
sustituido por el valor "amarillo"
. El resto
de elementos sigue igual.
Hemos podido hacer esta acción gracias al índice de posición de la lista. Ya que si no especificas una posición en concreto, reasignas el valor frente a la lista entera.
Puedes apreciar eso mismo en este ejemplo:
colores = ["azul", "verde", "rojo"]
# Reasigna el valor a la variable
colores
= "amarillo"
# Imprime el resultado
print(colores)
amarillo
Error por número de índice inexistente
Si pones una posición que no existe, y le intentas asignar un valor, te ocurrirá el siguiente error:
colores = ["azul", "verde", "rojo"]
# Asigna el valor a la posición 7 de la lista
colores[7] = "amarillo"
# Comprobamos el resultado
print(colores)
IndexError: list assignment index out of range
Error de índice: el índice de asignación de la lista está fuera de rango
Sencillamente, nos indica que el número indicado entre los corchetes, se ha salido del rango de posiciones del índice.
Espacio publicitario
Métodos para añadir elementos en listas
Ahora que ya sabes lo más básico de las listas de Python, ha llegado el momento de empezar a utilizar métodos con ellas.
Las listas cuentan con muchos métodos para hacer cosas con ellas, al igual que ocurre con las cadenas de caracteres.
Todos los cambios que van realizando los métodos, ocurren en tiempo de ejecución (mientras se ejecuta el programa). Por lo tanto, si no tenemos un medio para guardar los datos que añadimos, o manipulamos de alguna forma en las listas, al finalizar la ejecución, se borran. Para guardarlos permanentemente, deberás dominar el uso de bases de datos.
El método append() para listas de Python
El método append()
sirve para añadir un
elemento al final de una lista. Para usarlo solo tenemos
que poner el nombre de la lista, un punto, y entre los
paréntesis del método, indicar que es lo que queremos
añadir.
Sintaxis del método append()
La sintaxis de este método es muy sencilla, solo necesitas especificar un elemento entre sus paréntesis:
lista.append(elemento)
En el siguiente código tienes un ejemplo de uso:
colores = ["azul", "verde", "rojo"]
# Añade el elemento "amarillo" al final de la lista
colores.append("amarillo")
print(colores)
['azul', 'verde', 'rojo', 'amarillo']
El nombre del método append puede ser traducido al español como adjuntar, añadir, agregar...
El método insert() para listas de Python
El método insert()
de Python también permite
insertar un elemento en una lista.
La diferencia con el método anterior, es que con este
método podemos especificar una posición concreta en la que
queremos insertar el elemento.
Sintaxis del método insert()
El método insert()
acepta dos argumentos. Por
un lado, el índice de posición donde quieres añadir el
valor (posición
), y por el otro el valor que
deseas añadir (elemento
).
nombre_lista.insert(posición, elemento)
A continuación, tienes una inserción de una cadena de
caracteres con valor "amarillo"
, en la
posición 0
de la lista:
colores = ["azul", "verde", "rojo"]
# Se añade el elemento "amarillo" en la posición 0 del índice
colores.insert(0, "amarillo")
print(colores)
['amarillo', 'azul', 'verde', 'rojo']
Al indicar la posición 0
del índice, lo que
he hecho es mover el elemento que estaba en la posición
0
, hacia la posición 1
, el de la
1
a su vez, se va a la 2
, y así
con todos los elementos posteriores a la posición indicada
en la llamada del método insert()
.
Espacio publicitario
Índice inexistente
Con este método, si indicas una posición de índice inexistente, Python solucionará el fallo. A pesar de ello, intenta no equivocarte con esto, ya que puede dificultar la interpretación del código por parte de las personas.
En el siguiente ejemplo, al poner una posición
7
, y solo existir de la 0
a la
2
, creo cierta confusión con algo tan simple:
colores = ["azul", "verde", "rojo"]
# Inserta el elemento "amarillo" en la posición 7
colores.insert(7, "amarillo")
print(colores)
['azul', 'verde', 'rojo', 'amarillo']
Si pones un número que se sale de rango, el elemento
ocupará la posición inmediata al último elemento. En este
ejemplo, la 3
.
El nombre del método insert puede ser traducido al español como insertar.
El método extend() para listas Python
El método extend()
de Python, sirve para
“extender” una lista a partir de un elemento iterable (no
todos los tipos de datos son iterables).
Por lo de iterable, es algo que tiene que ver con el tema de los bucles, así que no le des demasiada importancia ahora mismo. En resumidas cuentas, un iterable es un elemento que puede ser recorrido elemento a elemento.
Sintaxis del método extend()
El método extend()
espera un único argumento
en su llamada, un elemento iterable.
nombre_lista.extend(iterable)
Veamos un ejemplo de uso:
Contamos con dos listas, las cuales, son elementos iterables. Si quieres fusionar los datos que hay almacenados en ambas, lo puedes hacer así de fácil:
colores1 = ["azul", "verde", "rojo"]
colores2 = ["amarillo", "naranja", "marrón"]
# Extiende la lista
colores1.extend(colores2)
print(colores1)
['azul', 'verde', 'rojo', 'amarillo', 'naranja', 'marrón']
La lista colores1
ahora tiene sus propios
datos, más los datos de la otra lista. Estos se han
añadido al final de los elementos que ya tenía.
La lista colores2
, se queda igual, con sus
propios datos.
Lo que le decimos al intérprete de Python podría
traducirse como: “extiende los datos de
colores1
con los de colores2
”.
El nombre del método extend puede ser traducido al español como extender.
Espacio publicitario
Otra forma de unir dos listas es mediante la concatenación:
colores1 = ["azul", "verde", "rojo"]
colores2 = ["amarillo", "naranja", "marrón"]
# Concatena las listas
colores1 = colores1 + colores2
print(colores1)
['azul', 'verde', 'rojo', 'amarillo', 'naranja', 'marrón']
He de indicar que utilizar
extend()
es más eficiente en el uso de recursos del sistema que concatenar.
Métodos para eliminar elementos en listas Python
Veamos algunos métodos para eliminar elementos ya existentes en las listas.
El método pop() para listas
El método pop()
sirve para eliminar un
elemento de una lista. Este método puede ser utilizado de
dos formas. Con un argumento, o sin él.
Eliminar la última posición de lista con pop()
Para eliminar la última posición de una lista, simplemente
utilizaremos pop()
sin argumentos.
En el siguiente ejemplo, se elimina el valor
"rojo"
, por encontrarse en la última posición
de la lista:
colores = ["azul", "verde", "rojo"]
# Se elimina el último elemento de la lista
colores.pop()
print(colores)
['azul', 'verde']
Eliminar un elemento concreto con pop()
En el siguiente ejemplo, se elimina el elemento en la
posición 0 de la lista. Esto es posible al pasar el número
de posición como argumento del método pop()
:
colores = ["azul", "verde", "rojo"]
# Elimina el elemento de la posición 0
colores.pop(0)
print(colores)
['verde', 'rojo']
Espacio publicitario
Error con pop()
Ten cuidado con la posición del índice. Si pones un número inexistente en la lista, te dará un error:
colores = ["azul", "verde", "rojo"]
# Elimina el elemento de la posición 7
colores.pop(7)
print(colores)
IndexError: pop index out of range
Error de índice: El índice de pop, está fuera de rango
Podemos ver que nos produce un error por índice inexistente. Este fallo tan “tonto”, hará que un programa completo se cierre de forma inesperada.
El término pop se traduce al español como sacar o extraer.
El método remove()
El método remove()
elimina un elemento
literal concreto.
Sintaxis del método remove()
La forma de uso que le podemos dar a este método, es nombrando un valor literalmente. Este se eliminará si se encuentra en la lista
nombre_lista.remove(elemento)
En el siguiente ejemplo, el método es utilizado para
eliminar el valor "rojo"
, especificándolo
literalmente en la llamada al método
remove()
:
colores = ["azul", "verde", "rojo"]
# Elimina el elemento "rojo"
colores.remove("rojo")
print(colores)
['azul', 'verde']
El método remove() no elimina duplicados
Algo que debes tener en cuenta, es que aunque en una lista
haya varias coincidencias del mismo valor literal, el
método remove()
, solo va a eliminar la
primera que encuentre. Por ejemplo:
colores = ["rojo","azul", "rojo", "verde", "rojo"]
# Elimina el primer elemento "rojo"
colores.remove("rojo")
print(colores)
['azul', 'rojo', 'verde', 'rojo']
Tal y como puedes ver, se ha eliminado solo el primer
valor "rojo"
que ha encontrado. El de la
posición 0
en este ejemplo.
Si ponemos varios remove()
, se van eliminando
sucesivamente:
colores = ["rojo","azul", "rojo", "verde", "rojo"]
# Elimina un elemento "rojo"
colores.remove("rojo")
print(colores)
# Elimina un elemento "rojo"
colores.remove("rojo")
print(colores)
# Elimina un elemento "rojo"
colores.remove("rojo")
print(colores)
['azul', 'rojo', 'verde', 'rojo']
['azul', 'verde', 'rojo']
['azul', 'verde']
Error con remove()
También tendrás que tener cuidado con no equivocarte en el dato que quieres eliminar. Si no existe en la lista, te arrojará el siguiente error:
colores = ["azul", "verde", "rojo"]
# Elimina el elemento "amarillo"
colores.remove("amarillo")
print(colores)
ValueError: list.remove(x): x not in list
Error de valor: el elemento x no está en la lista
El término remove se traduce al español como eliminar
Espacio publicitario
Métodos para buscar elementos en listas de Python
Veamos algunos métodos para eliminar elementos en listas.
El método index()
El método index()
se encarga de buscar un
elemento en una lista. Solo va a buscar hasta encontrarlo
una vez; si está repetido, ignora el resto de resultados.
Si encuentra la coincidencia, nos devolverá el número de
posición del índice donde aparece. En cambio, si no hay
coincidencia, nos arrojará un error.
Sintaxis del método index()
La sintaxis del método index()
es la
siguiente:
nombre_lista.index(elemento)
Ejemplo de uso del método index()
Mira el siguiente ejemplo. Contamos con una lista con varios valores numéricos.
En la variable busca_numero
, estoy indicando
el uso del método index()
, y le doy un valor
de 10
. Ese es el que quiero que busque.
numeros = [87, 10, 5, 7, 378, 10, 10, 65, 10]
# Guardamos lo que devuelve index() en una variable
busca_numero = numeros.index(10)
print(busca_numero)
1
El resultado que nos deja guardado en la variable
busca_numero
es 1
.
Eso es porque ha encontrado el primer 10
en
la posición 1
del índice. El resto de valores
10
, tal y como he indicado, los ignora.
Error con index()
Con el método index()
, si le pasamos un valor
inexistente, nos va a dar el siguiente error:
numeros = [87, 10, 5, 7, 378, 10, 10, 65, 10]
# Guardamos lo que devuelve index() en una variable
busca_numero = numeros.index(1000)
print(busca_numero)
ValueError: 1000 is not in list
Error por valor: 1000 no está en la lista
El término index puede ser traducido como índice en español.
El método count()
El método count()
también busca elementos en
las listas, pero es sustancialmente diferente. Este método
busca todas las coincidencias y nos dice cuántas hay en
una lista.
Sintaxis del método count()
La sintaxis del método count()
es la
siguiente:
nombre_lista.count(valor_busqueda)
Ejemplo de uso del método count()
Veamos un ejemplo práctico con este método:
En una variable (valor_busqueda
) especifico
el valor que quiero buscar. Esto no es obligatorio, ya que
este valor se lo puedo pasar al método directamente sin la
variable. El motivo de guardarlo en una variable, es para
tener un programa con diferentes posibilidades. Por
ejemplo, esta variable podría ser para almacenar un
input()
, y mediante el valor pasado en la
consola, tendríamos un buscador de valores.
Espacio publicitario
Finalmente, utilizo el método con el valor proporcionado, y este me dice cuantas coincidencias hay en la lista:
numeros = [87, 10, 5, 7, 378, 10, 10, 65, 10]
# Especificamos un valor de búsqueda
valor_busqueda = 10
# Buscamos el total de coincidencias
coincidencias = numeros.count(valor_busqueda)
print(f"En total, el valor de búsqueda {valor_busqueda}, tiene {coincidencias} coincidencias.")
En total, el valor de búsqueda 10, tiene 4 coincidencias.
Si en la búsqueda no hay ningún resultado, no nos produce
ningún error, sencillamente, almacena un 0
:
valor_busqueda = 1000
En total, el valor de búsqueda 1000, tiene 0 coincidencias.
El término count se puede traducir al español como contar.
Espacio publicitario
Espacio publicitario
Ejercicios de Python para resolver
31. Crea una lista que contenga los siguientes valores:
4245
54.6
'viento'
True
Después, imprímela en la consola con una frase como
"Los valores en la lista son:"
, y que muestre
todos sus elementos.
El resultado en la consola deberá ser exactamente este:
Una forma de resolverlo sin complicaciones, es esta:
# Crear la lista con los valores solicitados
lista_variada = [4245, 54.6, 'viento', True]
# Imprimir la frase
print("Los elementos de la lista son:", lista_variada)
Los elementos de la lista son: [4245, 54.6, 'viento', True]
32. Añade un color cualquiera al final de la lista
colores1
, utilizando el método
append()
.
colores1 = ["azul", "verde", "rojo"]
colores1 = ["azul", "verde", "rojo"]
# Añadir el color amarillo a la lista
colores1.append("amarillo")
print(colores1)
['azul', 'verde', 'rojo', 'amarillo']
33. Añade todos los elementos de la lista
colores2
al final de la lista
colores1
, utilizando el método
extend()
.
colores1 = ["azul", "verde", "rojo"]
colores2 = ["amarillo", "naranja", "marrón"]
colores1 = ["azul", "verde", "rojo"]
colores2 = ["amarillo", "naranja", "marrón"]
# Extender la lista colores1
colores1.extend(colores2)
print(colores1)
['azul', 'verde', 'rojo', 'amarillo', 'naranja', 'marrón']
34. Inserta el color "gris"
en la posición
2
de la lista colores1
,
utilizando el método insert()
.
colores1 = ["azul", "verde", "rojo"]
Recuerda que las posiciones del índice se empiezan a contar desde el 0, no desde el 1.
colores1 = ["azul", "verde", "rojo"]
# Insertar el color gris en la posición 2
colores1.insert(2, "gris")
print(colores1)
['azul', 'verde', 'gris', 'rojo']
35. Añade el color "blanco"
al principio de
la lista colores1
, utilizando el método
insert()
.
colores1 = ["azul", "verde", "rojo”]
colores1 = ["azul", "verde", "rojo"]
# Insertar el color blanco en la posición 0
colores1.insert(0, "blanco")
print(colores1)
['blanco', 'azul', 'verde', 'rojo']
Espacio publicitario
Para realizar los siguientes ejercicios, cuentas con la siguiente lista:
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
36. Responde si la ejecución de estos métodos dará error o no. Intenta contestar antes de probarlo en el código.
colores.pop(6)
colores.remove(2)
colores.pop(3)
colores.remove("magenta")
colores.remove("rojo")
colores.pop("verde")
En los diferentes apartados te voy poniendo si ejecuta sin error o no, o el propio error que produce.
Por supuesto, no tienes por qué acertar el tipo de error, solo tenías que saber si daba error o no.
Te pongo aquí los errores concretos, para que vayas aprendiendo un poco más:
-
IndexError
: pop index out of range (El índice6
no existe). Solo hay hasta el5
en la lista. -
ValueError
: list.remove(x): x not in list (No se puede usar un número de posición en elremove()
. Tiene que ser el valor del propio elemento. Por ejemplo,"amarillo"
. Este valor2
, utilizado en el ejemplo, intenta eliminar de la lista un valor literal de tipoint
(2
). -
Este es correcto. Se elimina el valor de la posición
3
del índice, que es el color"amarillo"
. -
ValueError
: list.remove(x): x not in list (El valor"magenta"
, no existe en la lista). -
Este es correcto. Se elimina el valor
"rojo"
de la lista. -
TypeError
:'str'
object cannot be interpreted as an integer (Tienes que darle un número de posición de índice a este método, no un valor literal como unstr
).
37. Elimina de la lista el color "verde"
, con
el método pop()
.
El color "verde"
está en la posición
1
del índice:
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
colores.pop(1)
print(colores)
['azul', 'rojo', 'amarillo', 'naranja', 'marrón']
38. Elimina de la lista el color "azul"
, con
el método remove()
.
Con el método remove()
, la posición del
índice no importa, solo el valor literal del elemento
que quiero eliminar:
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
colores.remove("azul")
print(colores)
['verde', 'rojo', 'amarillo', 'naranja', 'marrón']
39. Ahora, tendrás que eliminar dos colores. Los que quieras. Además, lo puedes hacer con el método que quieras.
En el siguiente código, encontrarás una lista con valores
(colores
), y otra vacía
(eliminados
), para ir añadiendo elementos:
# Lista con colores
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
# Lista para guardar valores eliminados
eliminados = []
# Se eliminan los elementos y se guardan en la lista
eliminados.append()# Utiliza un método aquí
eliminados.append()# Utiliza un método aquí
# Imprime una frase con los dos colores eliminados
print()# Frase aquí
Tienes que guardar los dos valores eliminados en la lista
eliminados
, y mostrar los resultados en la
consola, en una frase como esta:
Los valores eliminados de la lista son: verde y amarillo.
Esta frase la debes formar con los valores de la lista eliminados; tan solo tienes que rellenar estas partes del código:
# Se eliminan los elementos y se guardan en la lista
eliminados.append()# Utiliza un método aquí
eliminados.append()# Utiliza un método aquí
# Imprime una frase con los dos colores eliminados
print()# Frase aquí
Utiliza un método de eliminación de listas, en cada uno de los paréntesis de los
append()
. Con ello, se añadirán dos valores a la lista eliminados.Finalmente, tendrás que formar la frase con la posición
0
y1
de la listaeliminados
. No tienes que tocar nada más.
Primero de todo, la lista eliminados, es una lista vacía, la cual, nos sirve para ir rellenándola.
El método append()
se utiliza para añadir
elementos a las listas. Nosotros queremos añadir los
elementos que se eliminen, por raro que suene, es una
acción muy común en programación.
Entonces, dentro del append()
,
especificamos el método de eliminación.
Si usas remove()
te devuelve valores
nulos de tipo None
. Entonces, solo te
quedaba probar con el método pop()
.
# Lista con colores
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
# Lista para guardar valores eliminados
eliminados = []
# Se eliminan los elementos y se van guardando en la lista
eliminados.append(colores.pop(1))
eliminados.append(colores.pop(2))
# Imprime una frase con los dos colores eliminados
print(f"Los colores eliminados son {eliminados[0]} y {eliminados[1]}.")
Los colores eliminados son verde y amarillo.
Este ejercicio es muy sencillo, pero claro, si sabes hacerlo.
Hayas podido resolverlo o no, ahora conoces esto, y te será de gran utilidad en el futuro.
Por cierto, en el ejercicio había una dificultad más, que los elementos, al eliminarse, van cambiando de número de posición en el índice.
Quizás te hayas fijado en que he puesto para eliminar
la posición 1
y 2
. Eso,
teóricamente, eliminaría "verde"
y
"rojo"
.
Entonces, ¿por qué se elimina "verde"
y
"amarillo"
?
Al eliminar "verde"
, los colores de la
lista se ordenan así:
['azul', 'rojo', 'amarillo', 'naranja', 'marrón']
Fíjate en que se han movido para adaptarse al índice.
El elemento "amarillo"
ha pasado de estar
en el índice 3
, inicialmente, al
2
. Esto es porque se ha eliminado el
elemento que estaba en la posición 1
.
Entonces, "rojo"
, que estaba en la
posición 2
, se ha movido a la
1
, y "amarillo"
a la
2
. Así lo mismo con los siguientes
elementos.
Por lo tanto, ten muy en cuenta estas acciones de eliminación, y ves aprendiendo de ellas. Si necesitas saber que ocurre en cada momento, utiliza print() para verlo, como en el siguiente ejemplo:
# Lista con colores
colores = ["azul", "verde", "rojo", "amarillo", "naranja", "marrón"]
# Lista para guardar valores eliminados
eliminados = []
# Se eliminan los elementos y se van guardando en la lista
eliminados.append(colores.pop(1))
print(colores)
eliminados.append(colores.pop(2))
print(colores)
['azul', 'rojo', 'amarillo', 'naranja', 'marrón']
['azul', 'rojo', 'naranja', 'marrón']
Espacio publicitario
Para los siguientes ejercicios, utiliza esta lista:
numeros = [7, 14, 16, 657, 10.8, 7, 55, 56, 56, 43, 56, 7]
40. Con un método para listas, busca si el valor
70
está en ella.
Si has decidido usar el método index()
,
habrás recibido un error, puesto que el valor
70
no está en la lista
Con el método count()
, nos devuelve (da)
un 0
, que puede ser interpretado por
lógica, como un “no está en la lista”.
En el caso de que hubiera una coincidencia, recibirías
un valor 1
, que puede ser interpretado
por lógica, como “está en la lista una vez”.
numeros = [7, 14, 16, 657, 10.8, 7, 55, 56, 56, 43, 56, 7]
# Especificamos un valor de búsqueda
valor_busqueda = 70
# Buscamos el total de coincidencias
coincidencias = numeros.count(valor_busqueda)
print(coincidencias)
0
41. Busca cuantas ocurrencias hay del valor
7
.
En total, el valor se repite tres veces:
numeros = [7, 14, 16, 657, 10.8, 7, 55, 56, 56, 43, 56, 7]
# Especificamos un valor de búsqueda
valor_busqueda = 7
# Buscamos el total de coincidencias
coincidencias = numeros.count(valor_busqueda)
print(coincidencias)
3
42. Crea un buscador, o contador de elementos, con un método para listas apropiado para ello. Para hacerlo, tendrás que crear una entrada de datos en la consola. Este valor de entrada se guardará en una variable, para posteriormente, pasarle el valor de esta, al método utilizado.
La lista sobre la que buscarás es la que tienes a continuación:
colores = ["azul", "azul", "rojo", "azul", "verde", "verde", "azul", "verde", "rojo", "amarillo"]
Cuando tengas el código, utiliza el buscador para contestar estas preguntas (ya sé que puedes contestarlas a ojo, pero se trata de que pruebes si lo puedes lograr hacer con tu buscador).
-
¿Cuántas veces se repite el color
"azul"
? -
¿Cuántas veces se repite el color
"amarillo"
? -
¿Cuántas veces se repite el color
"verde"
?
Ten en cuenta que si no pones literalmente el valor con todas las mayúsculas y minúsculas iguales, como están en la lista, tu buscador no va a encontrar esos elementos. Python es case sensitive (distingue mayúsculas y minúsculas).
Si no se te ocurre qué método utilizar, consulta los métodos disponibles para la clase
list
, la clase que genera las listas de Python. Seguro que entre los que hay, sabrás encontrar cuál te puede venir bien para resolver este ejercicio.
Primero creamos el código que nos va a ayudar a responder las preguntas:
# Lista de colores
colores = ["azul", "azul", "rojo", "azul", "verde", "verde", "azul", "verde", "rojo", "amarillo"]
# Pedir al usuario que introduzca el color a buscar
color_busqueda = input("Introduce el color a buscar: ")
# Método count() para contar veces que aparece el color
veces_repetido = colores.count(color_busqueda)
# Mostrar el resultado
print(f"El color '{color_busqueda}' se repite {veces_repetido} veces en la lista.")
Ahora que ya tenemos el código, es el momento de utilizar nuestro buscador y contador de elementos.
A.
Introduce el color a buscar: azul
El color 'azul' se repite 4 veces en la lista.
B.
Introduce el color a buscar: amarillo
El color 'amarillo' se repite 1 veces en la lista.
C.
Introduce el color a buscar: verde
El color 'verde' se repite 3 veces en la lista.
43. Mejora el buscador, y haz que independientemente de como se escriba el texto en la consola, en cuanto a mayúsculas o minúsculas, que coincida con los valores de la lista.
Este método deberá aplicarse al valor que almacene el
input()
del buscador. Para ello, pon un punto pegado alinput()
, y el método necesario. Eso hará que el valor introducido en la consola, se transforme como necesites.
Aquí tenías que añadir el uso del método
lower()
, puesto que en la lista están
todos los valores en minúsculas. Así, aunque busques
colores en mayúsculas, tu buscador seguirá funcionando
# Lista de colores
colores = ["azul", "azul", "rojo", "azul", "verde", "verde", "azul", "verde", "rojo", "amarillo"]
# Pedir al usuario que introduzca el color a buscar
color_busqueda = input("Introduce el color a buscar: ").lower()
# Método count() para contar veces que aparece el color
veces_repetido = colores.count(color_busqueda)
# Mostrar el resultado
print(f"El color '{color_busqueda}' se repite {veces_repetido} veces en la lista.")
Introduce el color a buscar: AZUL
El color 'azul' se repite 4 veces en la lista.
Espacio publicitario