Anuncio
Las matrices y las listas son algunas de las estructuras de datos más útiles en la programación, aunque pocas personas realmente las utilizan en todo su potencial. Hoy te hablaré sobre los conceptos básicos, junto con algunos ejemplos simples de Python.
Prerrequisitos
No hay mucho que necesite saber con anticipación para aprender estos conceptos. Un conocimiento básico de paradigmas de programación y Python será útil, pero no es obligatorio. Lee nuestro ejemplos básicos de Python 10 ejemplos básicos de Python que te ayudarán a aprender rápidoEste artículo de ejemplos básicos de Python es para aquellos que ya tienen algo de experiencia en programación y simplemente quieren hacer la transición a Python lo más rápido posible. Lee mas si no sabes por dónde empezar Si crees que Python es un lenguaje inútil, mira nuestro razones por las cuales no es 5 razones por las que la programación en Python no es inútilPython: o lo amas o lo odias. Incluso puede balancearse de un extremo al otro como un péndulo. En cualquier caso, Python es un lenguaje difícil de ser ambivalente. Lee mas .
Si bien las siguientes ideas fundamentales se pueden aplicar a cualquier lenguaje, estaré demostrando los ejemplos en Python. Es un lenguaje fácil de aprender y proporciona una excelente plataforma para comprender lo que está sucediendo. Además de esto, tutorialspoint.com proporciona un excelente intérprete de Python en línea: ni siquiera tiene que instalar Python si no lo desea (si lo hace, consulte nuestra guía de entornos virtuales Aprenda a usar el entorno virtual de PythonYa sea que sea un desarrollador experimentado de Python, o que recién esté comenzando, aprender a configurar un entorno virtual es esencial para cualquier proyecto de Python. Lee mas ).
Estructuras de datos
Que es un estructura de datos? En su nivel más básico, una estructura de datos es una forma de almacenar datos de manera eficiente. Es fácil confundirse porque las estructuras de datos no son tipos de datos. Los tipos de datos le dicen al compilador (o en el caso de Python al intérprete) cómo deben usarse los datos. Las estructuras de datos especifican las operaciones que se pueden realizar y, a menudo, implementan reglas y regulaciones específicas.
Es posible que haya oído hablar de algunos lineal tipos de datos (los elementos son secuenciales):
- Formación
- Matriz
- Tabla de búsqueda
Similar, liza a menudo contienen reglas y métodos para regular cómo operan. Algunas listas comunes son:
- Lista enlazada
- Lista doblemente vinculada
- Lista de matrices o matriz dinámica
Hay una gran cantidad de diferentes estructuras de datos. Es posible que hayas oído hablar de árboles binarios, gráficoso hashes. Discutiré los conceptos básicos hoy, pero es posible que desee aprender más una vez que se sienta cómodo.
Formación
Empecemos desde el principio. Una matriz es una colección simple de valores (relacionados). Estos valores se llaman elementos. Por lo general, pueden ser cualquier tipo de datos que desee, incluidos objetos u otras listas. La advertencia principal con las matrices es que todos los datos deben ser iguales: no se pueden almacenar cadenas y enteros mixtos. usted casi siempre tiene que especificar cuántos elementos le gustaría almacenar. Tamaño variable o matrices dinámicas existen, pero las matrices de longitud fija son más simples para comenzar.
Python complica las cosas un poco. Le facilita las cosas, pero no siempre se adhiere a definiciones estrictas de estructuras de datos. La mayoría de los objetos en Python suelen ser listas, por lo que crear una matriz es realmente más trabajo. Aquí hay un código de inicio:
desde matriz importar matriz. números = matriz ('i', [2, 4, 6, 8]) imprimir números [0]
La primera línea importa el formación módulo: es necesario para trabajar con matrices. La segunda línea crea una nueva matriz llamada números e inicializa con los valores 2, 4, 6 y 8. Cada elemento tiene asignado un entero valor llamado a llave o índice. Las claves comienzan en cero, entonces números [0] accederá al primer elemento (2):

Quizás te estés preguntando qué 'yo' se utiliza para. Esto es un código de tipo eso le dice a Python que la matriz almacenará enteros. Este tipo de cosas normalmente no se necesitarían en Python (se consideraría "no pitónico"). La razón de esto es simple. Las matrices en Python son una envoltura muy delgada en las matrices C subyacentes de su sistema operativo. Esto significa que son rápidos y estables, pero no siempre se adhieren a la sintaxis de Python.
No puede almacenar tipos mixtos en estas matrices. Digamos que desea almacenar la cadena "makeuseof.com":
números = matriz ('i', [2, 4, 6, "makeuseof.com"])
Esto no estará permitido y generará una excepción:

A continuación, le mostramos cómo puede imprimir todos los elementos:
imprimir numeros

Este método de acceso a elementos de matriz funciona bien y es perfecto para la tarea correcta. Lo que no es bueno es acceder a toda la matriz. Los programadores son inherentemente vagos, por lo que felizmente escribiré más, mejor código, si eso significa que puedo facilitar el mantenimiento y reducir el esfuerzo de copiar y pegar.
Cada lenguaje de programación implementará un bucle de algún tipo, que es perfecto para iterar (bucle) sobre los elementos de la lista. Los bucles más comunes son mientras y para. Python hace las cosas aún más fáciles al proporcionar un para en lazo:
para número en números: número de impresión
Observe cómo no tuvo que acceder a los elementos por su clave. Esta es una forma mucho mejor de trabajar con una matriz. Una forma alternativa de iterar sobre una lista es con un para lazo:
para i en rango (len (números)): imprimir números [i]
Esto hace exactamente lo mismo que en el ejemplo anterior, aunque ha tenido que especificar el número de elementos en la matriz (len (autos)), junto con el paso yo como la clave de la matriz. Este es casi exactamente el código que para en los lazos corren. De esta forma, se proporciona un poco más de flexibilidad y es un poco más rápido (aunque para en los bucles son más que lo suficientemente rápidos mayoria del tiempo.)
Liza
Ahora que sabe cómo funcionan las matrices, veamos una lista. A veces puede ser confuso, ya que las personas usan una terminología diferente indistintamente, y las listas son matrices... más o menos.
Una lista es un tipo especial de matriz. La mayor diferencia es que las listas pueden contener mezclado tipos (recuerde, las matrices deben contener elementos del mismo tipo). Las listas son muy fáciles en Python:
cars = ['Ford', 'Austin', 'Lancia']
Observe cómo no necesita importar el formación ¿módulo?
Esta sintaxis declara una lista llamada autos. Dentro de los corchetes, se declara cada elemento de la lista. Cada elemento está separado por una coma, y como cada elemento es una cadena, usted los declara entre comillas. Python sabe que este es un objeto, por lo que el impresión La declaración generará el contenido de la lista:
imprimir autos

Al igual que con la matriz, puede iterar elementos de la lista usando bucles:
para automóvil en automóviles: auto impreso

El verdadero truco de las listas es su tipo mixto. Continúe y agregue algunos datos adicionales:
coches = ['Ford', 'Austin', 'Lancia', 1, 0.56]
Esto no es un problema para Python: ni siquiera generó una excepción:

Es fácil agregar nuevos elementos a una lista (algo que no es posible con las matrices):
cars = ['Ford', 'Austin'] imprimir autos. cars.append ('Lancia') imprimir autos

También puede combinar dos listas en una:
cars = ['Ford', 'Austin'] imprimir autos. other_cars = ['Lotus', 'Lancia'] cars.extend (otros_cars) imprimir autos

Es tan fácil eliminar elementos usando el eliminar sintaxis:
cars = ['Ford', 'Austin', 'Lotus', 'Lancia'] imprimir autos. cars.remove ('Ford') imprimir autos

Eso cubre los conceptos básicos de listas y matrices en Python. ¿Por qué no considerar un proyecto de codificación, como leer y escribir en Hojas de cálculo de Google Cómo leer y escribir en hojas de cálculo de Google con PythonPython puede parecer extraño e inusual, sin embargo, es fácil de aprender y usar. En este artículo, le mostraré cómo leer y escribir en Hojas de cálculo de Google utilizando Python. Lee mas , lectura de datos json Cómo obtener Python y JavaScript para comunicarse usando JSONHoy te mostraré cómo usar JSON para enviar datos desde JavaScript a Python. Cubriré cómo configurar un servidor web, junto con todo el código que necesita. Lee mas . Tal vez podrías usar tus nuevas habilidades para hacer algunas botones de acceso directo personalizados Haga sus propios botones de acceso directo personalizados con un ArduinoEl humilde Arduino puede hacer muchas cosas, pero ¿sabías que puede emular un teclado USB? Puede combinar métodos abreviados de teclado largos en una sola tecla de método abreviado personalizada, con este sencillo circuito. Lee mas . A pesar de ser un lenguaje de programación diferente, estos principios de matriz todavía se aplican.
¿Has aprendido algo nuevo? ¿Te gustaría ver contenido más complicado? ¡Háganos saber sus pensamientos en los comentarios a continuación!
Joe se graduó en Ciencias de la Computación de la Universidad de Lincoln, Reino Unido. Es un desarrollador de software profesional, y cuando no está volando drones o escribiendo música, a menudo se lo puede encontrar tomando fotos o produciendo videos.