5 pasos para comenzar con las estructuras de datos de Python

Recomendación: utilice el editor de escenas NSDT para crear rápidamente escenas de aplicaciones 3D

Introducción a las estructuras de datos de Python

Al aprender a programar, independientemente del lenguaje de programación específico que utilice para esta tarea, encontrará que hay varios temas importantes en la disciplina recién elegida en los que se puede clasificar la mayor parte del contenido con el que entre en contacto. Algunos de ellos, en orden general, son: sintaxis (el vocabulario de un idioma); comandos (la combinación de palabras en formas útiles); control de flujo (cómo dirigimos el orden en el que se ejecutan los comandos); algoritmos (las cosas que hacer para resolver un problema específico) Pasos... ¿ cómo se volvió esta palabra tan confusa? Finalmente, estructuras de datos (repositorios virtuales que utilizamos para la manipulación de datos (nuevamente... una serie de pasos) durante la ejecución de un algoritmo).

Esencialmente, si desea implementar una solución a un problema juntando una serie de comandos en los pasos de un algoritmo, en algún momento será necesario procesar los datos y las estructuras de datos se volverán esenciales. Estas estructuras de datos proporcionan una forma de organizar y almacenar datos de manera eficiente y son esenciales para crear código modular rápido que pueda realizar funciones útiles y escalar bien. Python es un lenguaje de programación especial con su propio conjunto de estructuras de datos integradas.

Este tutorial se centrará en las siguientes cuatro estructuras de datos básicas de Python:

  • Lista: ordenada, mutable, permite elementos duplicados. Se utiliza para almacenar secuencias de datos.
  • Tupla: ordenada, inmutable, permite elementos duplicados. Piense en ellos como listas inmutables.
  • Diccionario: mapa desordenado y mutable de pares clave-valor. Útil para almacenar datos en formato clave-valor.
  • Conjunto: desordenado, mutable y que contiene elementos únicos. Útil para probar membresías y eliminar duplicaciones.

Además de las estructuras de datos básicas, Python también proporciona estructuras más avanzadas, como montones, colas y listas vinculadas, que pueden mejorar aún más sus capacidades de codificación. Estas estructuras avanzadas se basan en las estructuras subyacentes para permitir un procesamiento de datos más complejo y, a menudo, se utilizan en escenarios especializados. Pero no estás limitado aquí; también puedes implementar el tuyo propio usando todas las estructuras existentes como base. Sin embargo, la comprensión de listas, tuplas, diccionarios y conjuntos sigue siendo fundamental, ya que son los componentes básicos de estructuras de datos más avanzadas.

Esta guía tiene como objetivo proporcionar una comprensión clara y concisa de estos conceptos básicos. Al comenzar su viaje con Python, las siguientes secciones lo guiarán a través de conceptos básicos y aplicaciones prácticas. Desde la creación y manipulación de listas hasta el aprovechamiento de las características únicas de las colecciones, este tutorial le brindará las habilidades que necesita para sobresalir en la codificación.

Paso 1: trabajar con listas en Python

¿Qué es una lista en Python?

Una lista en Python es un tipo de datos ordenado y mutable que puede almacenar una variedad de objetos, permitiendo elementos repetidos. Las listas se definen mediante corchetes, con elementos separados por comas.[ ]

Por ejemplo:

fibs = [0, 1, 1, 2, 3, 5, 8, 13, 21]

Las listas son útiles para organizar y almacenar secuencias de datos.

Crear lista

Las listas pueden contener diferentes tipos de datos, como cadenas, números enteros, booleanos, etc. Por ejemplo:

mixed_list = [42, "Hello World!", False, 3.14159]

Lista de operaciones

Se puede acceder, agregar, cambiar y eliminar elementos de la lista. Por ejemplo:

# Access 2nd element (indexing begins at '0')
print(mixed_list[1])

# Append element 
mixed_list.append("This is new")

# Change element
mixed_list[0] = 5

# Remove last element
mixed_list.pop(0)

Métodos de lista útiles

Algunos métodos convenientes integrados en listas incluyen:

  • sort()- Ordenar listas en su lugar
  • append()- Agregar elementos al final de la lista.
  • insert()- Insertar elemento en el índice.
  • pop()- Eliminar el elemento en el índice.
  • remove()- Eliminar la primera aparición del valor.
  • reverse()- Invertir la lista en su lugar

Ejemplos prácticos de listas

# Create shopping cart as a list
cart = ["apples", "oranges", "grapes"]

# Sort the list 
cart.sort()

# Add new item 
cart.append("blueberries") 

# Remove first item
cart.pop(0)

print(cart)

Producción:

['grapes', 'oranges', 'blueberries']

Paso 2: aprenda sobre tuplas en Python

¿Qué es una tupla?

Las tuplas son otro tipo de datos de secuencia en Python, similar a las listas. Sin embargo, a diferencia de las listas, las tuplas son inmutables, lo que significa que sus elementos no se pueden cambiar una vez creados. Se definen encerrando los elementos entre paréntesis.( )

# Defining a tuple
my_tuple = (1, 2, 3, 4)

Cuando usar tuplas

Las tuplas se utilizan normalmente para colecciones de elementos que no deben modificarse. Las tuplas son más rápidas que las listas, lo que las hace ideales para operaciones de sólo lectura. Algunos casos de uso comunes incluyen:

  • Almacenar constantes o datos de configuración.
  • Valor de retorno de la función con múltiples componentes
  • claves del diccionario porque son hash

Acceder a elementos de tupla

Acceder a elementos de una tupla es similar a acceder a elementos de una lista. La indexación y el corte funcionan de la misma manera.

# Accessing elements
first_element = my_tuple[0]
sliced_tuple = my_tuple[1:3]

Operaciones sobre tuplas

Dado que las tuplas son inmutables, muchas operaciones de lista pueden aplicarse o no. Sin embargo, todavía hay algunas cosas que puedes hacer:append()remove()

  • Concatenación: fusionar tuplas mediante operadores.+
concatenated_tuple = my_tuple + (5, 6)
  • Repetir: utilice operadores para repetir tuplas.*
repeated_tuple = my_tuple * 2
  • Membresía: comprueba si existe un elemento con una palabra clave en la tupla.in
exists = 1 in my_tuple

método de tupla

Las tuplas tienen menos métodos integrados en comparación con las listas porque son inmutables. Algunos métodos útiles incluyen:

  • 计数(): Cuenta el número de apariciones de un elemento específico.
count_of_ones = my_tuple.count(1)
  • 索引(): Encuentre el índice de la primera aparición del valor.
index_of_first_one = my_tuple.index(1)

Embalaje y desembalaje de tuplas

Empacar y desempaquetar tuplas son funciones convenientes en Python:

  • Envoltura: Asignar múltiples valores a una sola tupla.
packed_tuple = 1, 2, 3
  • Abierto: asigna elementos de tupla a múltiples variables.
a, b, c = packed_tuple

Inmutable pero no estricto

Aunque las tuplas en sí son inmutables, pueden contener elementos mutables, como listas.

# Tuple with mutable list
complex_tuple = (1, 2, [3, 4])

Tenga en cuenta que si bien no puede cambiar la tupla en sí, puede modificar los elementos mutables que contiene.

Paso 3: Dominar los diccionarios en Python

¿Qué es un diccionario en Python?

Un diccionario en Python es un tipo de datos mutable y desordenado que se utiliza para almacenar asignaciones únicas de clave a valor. Los diccionarios se escriben con llaves y constan de pares clave-valor separados por comas.{ }

Por ejemplo:

student = {"name": "Michael", "age": 22, "city": "Chicago"}

Los diccionarios son útiles para almacenar datos de forma estructurada y acceder a valores por clave.

Crear diccionario

Las claves del diccionario deben ser objetos inmutables, como cadenas, números o tuplas. Los valores del diccionario pueden ser cualquier objeto.

student = {"name": "Susan", "age": 23}

prices = {"milk": 4.99, "bread": 2.89}

Diccionario de operaciones

Se puede acceder, agregar, cambiar y eliminar elementos mediante claves.

# Access value by key
print(student["name"])

# Add new key-value 
student["major"] = "computer science"  

# Change value
student["age"] = 25

# Remove key-value
del student["city"]

Métodos útiles de diccionario

Algunos métodos integrados útiles incluyen:

  • keys()- lista de claves de retorno
  • values()- Lista de valores de retorno
  • items()- Devuelve una tupla (clave, valor)
  • get()- Devuelve el valor de la clave para evitar errores de clave.
  • pop()- Eliminar clave y valor de retorno.
  • update()- Agregar múltiples valores clave

Ejemplos prácticos de diccionarios

scores = {"Francis": 95, "John": 88, "Daniel": 82}

# Add new score
scores["Zoey"] = 97

# Remove John's score
scores.pop("John")  

# Get Daniel's score
print(scores.get("Daniel"))

# Print all student names 
print(scores.keys())

Paso 4: explorar colecciones en Python

¿Qué se establece en Python?

Una colección en Python es una colección mutable y desordenada de objetos únicos e inmutables. Las colecciones se escriben utilizando llaves, pero a diferencia de los diccionarios, no tienen pares clave-valor.{ }

Por ejemplo:

numbers = {1, 2, 3, 4}

Los conjuntos son útiles para pruebas de membresía, eliminación de duplicados y operaciones matemáticas.

Crear conjunto

Se puede crear una colección a partir de una lista pasando la colección al constructor:set()

my_list = [1, 2, 3, 3, 4]
my_set = set(my_list) # {1, 2, 3, 4}

Las colecciones pueden contener tipos de datos mixtos, como cadenas, booleanos, etc.

Conjunto de operaciones

Se pueden agregar y eliminar elementos de la colección.

numbers.add(5) 

numbers.remove(1)

Operaciones de cobranza útiles

Algunas operaciones de cobranza útiles incluyen:

  • union()- la unión retornada de los dos grupos
  • intersection()- Devuelve la intersección de conjuntos.
  • difference()- Devuelve la diferencia entre conjuntos.
  • symmetric_difference()- Devuelve la diferencia simétrica.

Ejemplos prácticos de uso de colecciones

A = {1, 2, 3, 4}
B = {2, 3, 5, 6}

# Union - combines sets 
print(A | B) 

# Intersection 
print(A & B)

# Difference  
print(A - B)

# Symmetric difference
print(A ^ B)

Paso 5: comparar listas, diccionarios y conjuntos

Comparación de características

Aquí hay una breve comparación de las cuatro estructuras de datos de Python que mencionamos en este tutorial.

estructura Orden variable Elementos repetidos Casos de uso
lista secuencia de almacenamiento
Yuan No Almacenar secuencias inmutables
diccionario No Clave: No
Valor: Sí
Almacenar pares clave-valor
configuración No No Eliminar duplicaciones y pruebas de miembros

Cuándo utilizar cada estructura de datos

Piense en esto como una guía sencilla sobre a qué estructura recurrir primero en una situación determinada.

  • Utilice listas para datos ordenados basados ​​en secuencias. Útil para pilas/colas.
  • Utilice tuplas para secuencias ordenadas e inmutables. Útil cuando necesitas una colección fija de elementos que no deben cambiar.
  • Utilice diccionarios para datos clave-valor. Se utiliza para almacenar atributos relacionados.
  • Utilice conjuntos para almacenar elementos únicos y operaciones matemáticas.

Ejemplos prácticos que utilizan las cuatro estructuras de datos

Echemos un vistazo a cómo funcionan juntas estas estructuras en un ejemplo que es un poco más complejo que una sola línea.

# Make a list of person names
names = ["John", "Mary", "Bob", "Mary", "Sarah"]

# Make a tuple of additional information (e.g., email)
additional_info = ("[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected]")

# Make set to remove duplicates
unique_names = set(names)

# Make dictionary of name-age pairs
persons = {}
for name in unique_names:
  persons[name] = random.randint(20,40)

print(persons)

Producción:

{'John': 34, 'Bob': 29, 'Sarah': 25, 'Mary': 21}

Este ejemplo utiliza una lista para almacenar la secuencia ordenada, una tupla para almacenar otra información inmutable, un conjunto para eliminar duplicados y un diccionario para almacenar pares clave-valor.

adelante

En este completo tutorial, profundizamos en las estructuras de datos básicas en Python, incluidas listas, tuplas, diccionarios y conjuntos. Estas estructuras forman los componentes básicos de la programación Python y proporcionan un marco para el almacenamiento, procesamiento y manipulación de datos. Comprender estas estructuras es fundamental para escribir código eficiente y escalable. Desde el uso de listas para operar en secuencias hasta el uso de pares clave-valor en diccionarios para organizar datos y garantizar que las colecciones sean únicas, estas herramientas básicas brindan una gran flexibilidad en el procesamiento de datos.

Enlace original: 5 pasos para comenzar con las estructuras de datos de Python (mvrlink.com)

Supongo que te gusta

Origin blog.csdn.net/ygtu2018/article/details/132808121
Recomendado
Clasificación