8 de julio de 2018
Python es un lenguaje de programación en boga en el año 2018. En el año 2018 hay más ofertas de trabajo para programadores en python que para programadores en Java. Python está siendo utilizado intensivamente en terrenos de inteligencia artificial, análisis estadístico y bigdata. No está de más aprender Python.
Las listas / lists nos permiten almacenar varios valores en una variable. Los valores almacenados pueden ser números enteros, números decimales, strings / cadenas de caracteres, otras listas... Cada valor es un elemento / element.
Para crear una lista que almacene varias strings / cadenas de caracteres usaremos el siguiente código:
mi_primera_lista = [ "Alain", "Benjamin", "Garcia", "Gomez" ] # mi_primera_lista es el nombre de la variable que almacenará mi lista # esta es una lista que almacena strings, cadenas de caracteres # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # cada elemento de la lista estará separado por una coma ( , ) # la lista almacena strings, por lo que cada string va entre comillas
Es posible crear una lista que almacene solo números enteros:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] # mi_lista_de_numeros es el nombre de la variable que almacenará mi lista # esta es una lista que almacena números enteros # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # cada elemento de la lista estará separado por una coma ( , ) # como cada elemento es un número entero, no necesitamos poner comillas para cada elemento
Es posible crear una lista que almacene solo números decimales:
mi_lista_con_decimales = [ 1.5, 2.3, 3.7, 4.8, 5.8, 6.8 ] # mi_lista_con_decimales es el nombre de la variable que almacenará mi lista # esta es una lista que almacena números enteros # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # cada elemento de la lista estará separado por una coma ( , ) # como cada elemento es un número decimal, no necesitamos poner comillas para cada elemento
Es posible crear una lista que almacene números enteros, números decimales y strings / cadenas de caracteres:
mi_lista_campechana = [ 1.5, 2, "El América ha ganado 37 campeonatos en torneos nacionales e internacionales" ] # mi_lista_campechana es el nombre de la variable que almacenará mi lista # esta es una lista que almacena números enteros, números decimales y strings # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # cada elemento de la lista estará separado por una coma ( , ) # los números decimales y enteros no necesitan estar entre comillas # las strings van ente comillas
Es posible crear una lista que almacene otras listas, creando con ello una lista multidimensional.
Podemos crear por ejemplo una lista multidimensional que almacene la información de los alumnos de una escuela y que incluya el nombre, la edad, la estatura, el grado, la ciudad de origen y el teléfono.
lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] # lista_de_alumnos es el nombre de la variable que almacenará mi lista multidimentsional # esta es una lista que almacena otras listas... # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # dentro de la lista, hay mas listas. # el contenido de cada lista está entre corchetes cuadrados [ ] # cada elemento de la lista estará separado por una coma ( , ) # los números decimales y enteros no necesitan estar entre comillas # las strings van ente comillas
Una vez creada la lista, podemos tener acceso a los elementos y sus valores que almacena.
Automáticamente al crear una lista se crea un índice que relaciona los elementos que integran la lista.
Ese índice asigna el valor 0 al primer elemento de la lista y asigna posteriormente un número consecutivo a cada uno de los elementos hasta abarcar todos los elementos.
De esta manera, con ayuda de ese índice podemos recuperar el valor de cualquier elemento de la lista.
Para recuperar un elemento de la lista utilizaremos el codigo:.
nombre_de_la_lista[numero_del_elemento_en_la_lista]
Ejemplo:
# creamos una lista # a cada elemento automáticamente secrea un índice lista_de_alumnos = [ "Jorge Campos",# el elemento 0 de la lista "Alberto García Aspe",# el elemento 1 de la lista "Claudio Suárez",# el elemento 2 de la lista "Cuauhtémoc Blanco",# el elemento 3 de la lista "Duilio Davino",# el elemento 4 de la lista "Francisco Palencia",# el elemento 5 de la lista "Germán Villa",# el elemento 6 de la lista "Jaime Ordiales",# el elemento 7 de la lista "Jesús Arellano",# el elemento 8 de la lista "Joel Sánchez Ramos",# el elemento 9 de la lista "Luis Hernández",# el elemento 10 de la lista "Pável Pardo",# el elemento 11 de la lista "Ramón Ramírez",# el elemento 12 de la lista "Raúl Rodrigo Lara",# el elemento 13 de la lista ] #una vez creada la lista recuperamos un elemento de la lista con: lista_de_alumnos[0] # muestra en pantalla: Jorge Campos lista_de_alumnos[13] # muestra en pantalla: Raúl Rodrigo Lara
Si utilizamos un número de elemento que no existe en la lista, Python marcará error.
lista_de_alumnos = [ "Jorge Campos",# el elemento 0 de la lista "Alberto García Aspe",# el elemento 1 de la lista "Claudio Suárez",# el elemento 2 de la lista "Cuauhtémoc Blanco",# el elemento 3 de la lista "Duilio Davino",# el elemento 4 de la lista "Francisco Palencia",# el elemento 5 de la lista "Germán Villa",# el elemento 6 de la lista "Jaime Ordiales",# el elemento 7 de la lista "Jesús Arellano",# el elemento 8 de la lista "Joel Sánchez Ramos",# el elemento 9 de la lista "Luis Hernández",# el elemento 10 de la lista "Pável Pardo",# el elemento 11 de la lista "Ramón Ramírez",# el elemento 12 de la lista "Raúl Rodrigo Lara",# el elemento 13 de la lista ] lista_de_alumnos[14] # !no existe el elemento 14 en la lista¡ # Python marcara error
Para recuperar un elemento de una lista multidimensional utilizaremos el codigo:
nombre_de_la_lista[numero_del_elemento_en_la_lista]
Ejemplo:
# creamos una lista multidimensional lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] # lista_de_alumnos es el nombre de la variable que almacenará mi lista multidimentsional # esta es una lista que almacena otras listas... # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # dentro de la lista, hay mas listas. # el contenido de cada lista está entre corchetes cuadrados [ ] # cada elemento de la lista estará separado por una coma ( , ) # los números decimales y enteros no necesitan estar entre comillas # las strings van ente comillas # recuperaramos el elemento 0 de la lista multidimensional lista_de_alumnos[0] # muestra en pantalla: "Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"
Cada elemento de una lista multidimensional, que a su vez es una lista, tiene un comportamiento idéntico a una lista. Así que podemos acceder a un elemento en específico de la lista multidimensional. Ejemplo:
# creamos una lista multidimensional lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] # lista_de_alumnos es el nombre de la variable que almacenará mi lista multidimentsional # esta es una lista que almacena otras listas... # entre corchetes cuadrados estará el contenido de nuestra lista[ ] # dentro de la lista, hay mas listas. # el contenido de cada lista está entre corchetes cuadrados [ ] # cada elemento de la lista estará separado por una coma ( , ) # los números decimales y enteros no necesitan estar entre comillas # las strings van ente comillas # recuperaramos el elemento 0 de la lista multidimensional lista_de_alumnos[0][0] # muestra en pantalla: "Jorge Campos" # lista_de_alumnos[0] # recupera el primer elemento de nuestra lista # lista_de_alumnos[0][0] # recupera el primer elemento de nuestra lista anidada lista_de_alumnos[0][1] # muestra en pantalla: 34 # lista_de_alumnos[0] # recupera el primer elemento de nuestra lista # lista_de_alumnos[0][1] # recupera el segundo elemento de nuestra lista anidada lista_de_alumnos[0][2] # muestra en pantalla: 1.63 # lista_de_alumnos[0] # recupera el primer elemento de nuestra lista # lista_de_alumnos[0][2] # recupera el tercer elemento de nuestra lista anidada lista_de_alumnos[0][3] # muestra en pantalla: "Palo Alto " # lista_de_alumnos[0] # recupera el primer elemento de nuestra lista # lista_de_alumnos[0][3] # recupera el cuarto elemento de nuestra lista anidada lista_de_alumnos[0][4] # muestra en pantalla: "044-55-28-43-76-28" # lista_de_alumnos[0] # recupera el primer elemento de nuestra lista # lista_de_alumnos[0][4] # recupera el quinto elemento de nuestra lista anidada
Para saber cuantos elementos integran la lista, utilizamos la función LEN:
len(nombre_de_la_lista)
Ejemplo:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] total_elementos = len(lista_de_alumnos) # creamos la variable total_elementos # almacenamos en ella el resultado de la función len # len cuenta la cantidad de elemtos en la lista print(total_elementos) # muestra en pantalla 14... # la lista tiene 14 elementos
Para saber cuantos elementos integran una lista multidimensional, utilizamos la función:
len(nombre_de_la_lista)
Ejemplo:
# creamos una lista multidimensional lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] total_elementos = len(lista_de_alumnos) # creamos la variable total_elementos # almacenamos en ella el resultado de la función len # len cuenta la cantidad de elemtos en la lista print(total_elementos) # muestra en pantalla 14... # la lista tiene 14 elementos
Para saber cuantos elementos tiene una lista dentro una lista multidimensional, utilizamos la función:
len(nombre_de_la_lista[elemento_a_contar])
Ejemplo:
# creamos una lista multidimensional lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] total_elementos = len(lista_de_alumnos[0]) # creamos la variable total_elementos # almacenamos en ella el resultado de la función len # lista_de_alumnos[0] contamos la cantidad de elementos dentro de la lista anidada # len cuenta la cantidad de elemtos en la lista print(total_elementos) # muestra en pantalla 5... # la lista dentro de la lista tiene 5 elementos
Es posible hacer una iteración en una lista con la ayuda de la función de control de flujo FOR.
Ejemplo:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] for elemento in lista_de_alumnos: # hacemos una iteración elemento por elemento en nuestra lista # elemento es una variable que almacena el valor del elemento # for es una función de control de flujo # for hace la iteración elemento por elemento # in permite definir que lista usaremos # lista_de_alumnos es la lista donde haremos la iteración # : inicia nuestra función de control de flujo #muy importante, creamos una sangía para el contenido # de la función de control de flujo print(elemento) # cada elemento lo mostramos en pantalla
De igual manera es posible hacer una iteración en una lista multidimensional con la ayuda de la función de control de flujo FOR.
Ejemplo:
lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ] for elemento in lista_de_alumnos: print("Nombre: " + str(elemento[0])) print("Edad: " + str(elemento[1])) print("Estatura: " + str(elemento[2])) print("Municipio: " + str(elemento[3])) print("Telefono: " + str(elemento[4])) print(" - - - - - - - - - - - - - - - - - - - - - ")
Un dolor de cabeza al programar en python, sobre todo para los que vienen de otros lenguajes de programación, son los espacios, sangrías, tabulaciones y saltos de línea para definir el contenido de las funciones y funciones de control de flujo.
Python no utiliza { } para definir el contenido de las funciones y funciones de control de flujo. Python utiliza sangrías / tabulaciones / espacios y saltos de línea.
Una sangría / tabulación / espacio o salto de línea mal colocados implicaría que nuestro código no haga nada, produzca un error u ofrezca un resultado completamente diferente.
Tómese como referencia el siguiente ejemplo:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] for elemento in lista_de_alumnos: print(elemento)
Y su resultado:
¿Qué fué lo que pasó?
¿Por qué marco error?
¿Por qué no hizo la iteración?
Cuál es la diferencia entre este código:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] for elemento in lista_de_alumnos: print(elemento)
Y este otro código:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] for elemento in lista_de_alumnos: print(elemento)
La diferencia es la sangría / tabulación / espacio o salto de línea que python utiliza para definir el contenido de las funciones y funciones de control de flujo.
Una sangría / tabulación / espacio o salto de línea mal colocados implicaría que nuestro código no haga nada, produzca un error u ofrezca un resultado completamente diferente.
Supongamos que tenemos una lista multidimensional con los datos de los alumnos y queremos hacer una iteración para mostrarlos.
Podríamos usar el siguiente código:
lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ] for elemento in lista_de_alumnos: print("Nombre: " + str(elemento[0])) print("Edad: " + str(elemento[1])) print("Estatura: " + str(elemento[2])) print("Municipio: " + str(elemento[3])) print("Telefono: " + str(elemento[4]))
¡Funciona!
Pero si omitimos una tabulación / espacio / sangría.
lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ] for elemento in lista_de_alumnos: print("Nombre: " + str(elemento[0])) print("Edad: " + str(elemento[1])) print("Estatura: " + str(elemento[2])) print("Municipio: " + str(elemento[3])) print("Telefono: " + str(elemento[4]))
¡Se acabó la magia!
Para buscar un valor en una lista unidimensional, utilizamos el comando IN :
valor_a_buscar in nombre_de_la_lista
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] 6 in mi_lista_de_numeros # buscal el valor 6 en la lista mi_lista_de_numeros # resultado, true / verdadero # el 6 está en la lista 15 in mi_lista_de_numeros # buscal el valor 15 en la lista mi_lista_de_numeros # resultado, false / falso # el 15 NO ESTÁ en la lista
Podemos buscar strings / cadenas de caracteres, en nuestras listas / lists:
lista_de_alumnos = [ "Jorge Campos", "Alberto García Aspe", "Claudio Suárez", "Cuauhtémoc Blanco", "Duilio Davino", "Francisco Palencia", "Germán Villa", "Jaime Ordiales", "Jesús Arellano", "Joel Sánchez Ramos", "Luis Hernández", "Pável Pardo", "Ramón Ramírez", "Raúl Rodrigo Lara", ] "Raúl Rodrigo Lara" in lista_de_alumnos # buscal el valor "Raúl Rodrigo Lara" en la lista_de_alumnos # resultado, true / verdadero # el valor "Raúl Rodrigo Lara" está en la lista "Raúl Alonso Jiménez" in lista_de_alumnos # buscal el valor "Raúl Alonso Jiménez" en la lista lista_de_alumnos # resultado, false / falso # el valor "Raúl Alonso Jiménez" NO ESTÁ en la lista
Para buscar un valor en una lista multidimensional, utilizamos el comando IN junto con la función de control de flujo FOR. FOR nos permite hacer una iteración elemento por elemento de la list / lista.
Ejemplo:
# creamos una lista multidimensional estados = [ [32,"Aguascalientes"], [31,"Baja California"], [30,"Baja California Sur"], [29,"Campeche"], [28,"Chiapas"], [27,"Chihuahua"], [26,"Ciudad de México"], [25,"Coahuila"], [24,"Colima"], [23,"Durango"], [22,"Guanajuato"], [21,"Guerrero"], [20,"Hidalgo"], [19,"Jalisco"], [18,"México"], [17,"Michoacán"], [16,"Morelos"], [15,"Nayarit"], [14,"Nuevo León"], [13,"Oaxaca"], [12,"Puebla"], [11,"Querétaro"], [10,"Quintana Roo"], [9,"San Luis Potosí"], [8,"Sinaloa"], [7,"Sonora"], [6,"Tabasco"], [5,"Tamaulipas"], [4,"Tlaxcala"], [3,"Veracruz"], [2,"Yucatán"], [1,"Zacatecas"] ] for elemento in estados: # para cada elemento de la lista estados haremos: for datos in elemento: # para cada lista anidada haremos: if datos == "Zacatecas": # si hay un elemento con el valor Zacatecas print(elemento) # lo mostramos en pantalla
Para agregar un valor en una lista utilizamos la función APPEND:
mi_lista.append(nuevo_valor)
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.append(7) # agrega el valor 7 a la lista mi_lista_de_numeros #mostrara en pantalla: [1, 2, 3, 4, 5, 6, 7]
La misma lógica aplica si queremos agregar un string / cadena de caracteres a nuestra lista:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.append('America Campeón') # agrega el valor 'America Campeón' a la lista mi_lista_de_numeros #mostrara en pantalla: [1, 2, 3, 4, 5, 6, 7, 'America Campeón']
La misma lógica aplica si queremos agregar una lista a una lista multidimensional:
# creamos una lista multidimensional lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtémoc Blanco",32,1.68,"Jesús María ","044-55-28-43-76-27"], ["Joel Sánchez Ramos",28,1.92,"Pabellón de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincón de Romos ","044-55-28-43-76-25"], ["Alberto García Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Raúl Rodrigo Lara",32,1.90,"San José de Gracia ","044-55-28-43-76-23"], ["Jaime Ordiales",35,1.73,"Tepezalá ","044-55-28-43-76-22"], ["Germán Villa",27,1.94,"Xpujil ","044-55-28-43-76-21"], ["Pável Pardo",22,1.84,"Calkiní ","044-55-28-43-76-20"], ["Francisco Palencia",32,1.86,"Campeche ","044-55-28-43-76-19"], ["Jesús Arellano",19,1.97,"Candelaria ","044-55-28-43-76-18"], ["Luis Hernández",37,1.63,"Ciudad del Carmen ","044-55-28-43-76-17"], ["Ramón Ramírez",26,1.70,"Champotón ","044-55-28-43-76-16"], ["Claudio Suárez",25,1.62,"Escárcega ","044-55-28-43-76-15"] ] lista_de_alumnos.append(["Miguel Mejía Barón",40,1.80,"Ciudad de México","044-55-28-43-76-18"]) # agrega un nuevo alumno
Tómese en cuenta que APPEND agrega un elemento al final de la lista. Si queremos insertar un elemento en una posición en específico de la lista, utilizaremos la función INSERT:
mi_lista.insert(posicion, nuevo_valor)
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.insert(0,7) # agrega en la posición 0, la primera # agrega el valor 7 a la lista · mi_lista_de_numeros #mostrara en pantalla: [7, 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.insert(-1,8) # agrega en la posición -1, la penúltima # agrega el valor 8 a la lista · mi_lista_de_numeros #mostrara en pantalla: [7, 1, 2, 3, 4, 5, 8, 6]
Para eliminar un valor en una lista utilizamos la función REMOVE:
mi_lista.remove(valor_a_borrar)
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.remove(1) # elimina el elemento cuyo valor sea 1 mi_lista_de_numeros #mostrara en pantalla: [2, 3, 4, 5, 6]
Tómese en cuenta que REMOVE solo borrará el primer elemento que encuentre. REMOVE no borra todos los elementos con un valor en particular.
mi_lista_de_numeros = [ 1, 2, 3, 1, 4, 5, 6, 1] mi_lista_de_numeros.remove(1) # elimina el PRIMER elemento que encuentre cuyo valor sea 1 mi_lista_de_numeros #mostrara en pantalla: [2, 3, 1,4, 5, 6, 1]
Para borrar todos los elementos de una lista con un valor en particular podemos usar una LIST COMPREHENSION.
Una LIST COMPREHENSION permite volver a crear la lista excluyendo un valor determinado. Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 1, 4, 5, 6, 1] mi_nueva_lista_de_numeros = [mi_elemento for mi_elemento in mi_lista_de_numeros if mi_elemento != 1] mi_nueva_lista_de_numeros #mostrara en pantalla: [2, 3,4, 5, 6] # la nueva lista no tendrá elementos cuyo valor sea 1
Es necesario explicar a detalle como funciona una LIST COMPREHENSION
mi_nueva_lista_de_numeros = [ ] # creamos una nueva lista mi_elemento for mi_elemento in mi_lista_de_numeros # hacemos una iteración elemento por elemento en nuestra lista # mi_elemento es una variable que almacena el valor del elemento # for es una función de control de flujo # for hace la iteración elemento por elemento # mi_elemento es una variable que almacena el valor del elemento # in permite definir que lista usaremos # mi_lista_de_numeros es la lista donde haremos la iteración if mi_elemento != 1 # define la condición con la que crearemos la nueva lista # if si... # mi_elemento != 1 # si mi elemento es diferente a uno, agregálo a la nueva lista
También podemos eliminar un elemento de una lista, utilizando como referencia su posición dentro de la lista. Para ello utilizamos la función DEL:
del mi_lista[posicion_a_borrar]
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] del mi_lista_de_numeros[0] # elimina el elemento 0, el primero, de la lista mi_lista_de_numeros #mostrara en pantalla: [2, 3, 4, 5, 6, 7]
Es posible recuperar la posición de un elemento en una lista con la función INDEX .
posicion = mi_lista.index(id_elemento_a_buscar)
Ejemplo:
mi_lista_de_numeros = [ 1, 2, 3, 4, 5, 6] mi_lista_de_numeros.index(3) # busca la posición del elemento con valor 3 en la lista 2 #mostrara en pantalla: 2, que la posición del elemento dentro de la lista
Para modificar el valor de un elemento en una lista / list utilizamos el siguiente código:
mi_lista[elemento_a_modificar] = nuevo_valor
Ejemplo:
lista_de_alumnos = [ "Jorge Campos", "Alberto Garcia Aspe", "Claudio Suarez", "Cuauhtemoc Blanco", "Duilio Davino", "Francisco Palencia", "German Villa" ] lista_de_alumnos[0] = "Oscar 'El Conejo' Perez" #Actualizamos el primer elemento de la lista # reemplazamos el valor original Jorge Campos con Oscar 'El Conejo' Perez lista_de_alumnos[0] # muestra Oscar 'El Conejo' Perez lista_de_alumnos #muestra la lista actualizada
La misma lógica se aplica para una lista multidimensional. Sólo es necesario precisar el elemento a actualizar:
mi_lista[lista_anidada_a_modificar][elemento_a_modificar] = nuevo_valor
Ejemplo:
lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ] lista_de_alumnos[0][0] = "Oscar 'El Conejo' Perez" #Actualizamos la primera lista dentro de la lista #Actualizamos el primer elemento de la lista anidada # reemplazamos el valor original Jorge Campos con Oscar 'El Conejo' Perez lista_de_alumnos[0][0] # muestra Oscar 'El Conejo' Perez lista_de_alumnos[-1][4] = "044-667-1-55-90-86" #Actualizamos la última lista dentro de la lista #Actualizamos el elemento 4 de la lista anidada (el teléfono) # reemplazamos el valor original 044-55-28-43-76-24 con 044-667-1-55-90-86 lista_de_alumnos[-1][4] # muestra 044-667-1-55-90-86
Para ordenar una lista utilizamos la función SORT:
mi_lista.sort()
Ejemplo:
mi_lista_de_numeros = [ 15, 2, 34, 14, -5, 75] mi_lista_de_numeros.sort() # ordena la lista mi_lista_de_numeros #mostrara en pantalla: [-5, 2, 14, 15, 34, 75]
SORT ordena de manera ascendente una lista, para ordenarla de foma descendente utilizamos:
mi_lista.sort(reverse=True)
Ejemplo:
mi_lista_de_numeros = [ 15, 2, 34, 14, -5, 75] mi_lista_de_numeros.sort(reverse=True) # ordena la lista mi_lista_de_numeros #mostrara en pantalla: [75, 34, 15, 14, 2, -5]
Para ordenar una lista multidimensional utilizamos también la función SORT. Pero también necesitamos importar el módulo / librería itemgetter
from operator import itemgetter mi_lista.sort(key=itemgetter(elemento_en_la_lista_anidada_a_ordenar))
Ejemplo:
from operator import itemgetter #importa el módulo / librería itemgetter lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ] lista_de_alumnos.sort(key=itemgetter(0)) # ordena la lista por el primer elemento de las listas anidadas # en este ejemplo ordena por el nombre
Para copiar una lista necesitamos importar el módulo / librería COPY y luego utilizamos la función DEEPCOPY:
import copy #importar el módulo / librería COPY mi_lista_copiada = copy.deepcopy(mi_lista)
Ejemplo:
import copy mi_lista_de_numeros = [ 15, 2, 34, 14, -5, 75] mi_lista_copiada = copy.deepcopy(mi_lista_de_numeros) # copiamos la lista en una nueva lista mi_lista_copiada[0] # recuperarmos el valor del primer elemento de la lista copiada # muestra 15 mi_lista_de_numeros[0] # recuperarmos el valor del primer elemento de la lista original # muestra 15
Para copiar una lista multidimensional necesitamos importar el módulo / librería COPY y luego utilizamos la función DEEPCOPY:
import copy lista_de_alumnos = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ] mi_lista_copiada = copy.deepcopy(lista_de_alumnos)
Para eliminar valores duplicados en una lista / list utilizamos las funciones SET y LIST.
La función SET convierte valores a un tipo de datos llamado SET. Una característica de el tipo de datos SET es que no permite la existencia de valores duplicados.
La función LIST convierte valores al tipo de datos LIST / LISTA.
Así, para eliminar valores duplicados debemos:
list(set(mi_lista))
Ejemplo:
mi_lista = [ 5, 5, 14, 14, -5, 75] mi_lista_sin_duplicados = list((set(mi_lista))) # set(mi_lista) convierte la lista en un SET # la naturaleza propia del SET elimina valores duplicados #list() convierte el SET en una lista mi_lista_sin_duplicados # muestra [75, -5, 5, 14]
Tómese en cuenta que este método elimina el orden orignal de la lista / list.
Si es importante mantener el orden orignal de la lista / list podemos utilizar el módulo / librería OrderedDict
from collections import OrderedDict # importamos el módulo / librería OrderedDict list(OrderedDict.fromkeys(mi_lista))
Ejemplo:
from collections import OrderedDict # importamos el módulo / librería OrderedDict mi_lista = [ 5, 5, 14, 14, -5, 75] mi_lista_sin_duplicados = list(OrderedDict.fromkeys(mi_lista)) # OrderedDict.fromkeys(mi_lista) convierte la lista en un diccionario # este metodo elminina los registros duplicados sin perder el orden original #list() convierte el diccionario en una lista mi_lista_sin_duplicados # muestra [5, 14, -5, 75] # el orden original no se perdió
Para eliminar valores duplicados en una lista / list multidimensional utilizamos la funciones TUPLE, SET y LIST.
La función SET convierte valores a un tipo de datos llamado SET. Una característica de el tipo de datos SET es que no permite la existencia de valores duplicados.
La función LIST convierte valores al tipo de datos LIST / LISTA.
La función TUPLE convierte valores al tipo de datos TUPLE.
Así, para eliminar valores duplicados en una lista multidimensional debemos:
Ejemplo:
mi_lista = [ ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ["Cuauhtemoc Blanco",32,1.68,"Jesus Maria ","044-55-28-43-76-27"], ["Joel Sanchez Ramos",28,1.92,"Pabellon de Arteaga ","044-55-28-43-76-26"], ["Duilio Davino",38,1.80,"Rincon de Romos ","044-55-28-43-76-25"], ["Alberto Garcia Aspe",27,1.94,"San Francisco de los Romo ","044-55-28-43-76-24"], ["Jorge Campos",34,1.63,"Palo Alto ","044-55-28-43-76-28"], ] mi_tuple = (tuple(elemento) for elemento in mi_lista) # cada elemento de la LIST lo convertimos en un elemento de un TUPLE mi_set = set(mi_tuple) # el TUPLE lo convertimos en un SET # automaticamente se borran registros duplicados sin_duplicados = [list(cada_valor) for cada_valor in mi_set] # cada elemento del SET lo convertimos en un elmento de la nueva LIST sin_duplicados # muestra la lista multidimensional sin duplicados
Este ejemplo es parte de un tutorial más completo que puede consultarse:
Comenta y opina este texto Lee mi libro de visitas
© 1997-2024 Alain García
albegago@hotmail.com
Twitter: @feesgo
YouTube
El vínculo a este documento es:
http://www.alaingarcia.net/weird/python_03_listas_lists.php
Puedes apoyar a este sitio invitándome a comer...
Este sitio utiliza cookies propias y de terceros para mejorar sus servicios. Si continua navegando, entendemos que acepta su uso. Política de Privacidad