Las listas y el analista de seguridad python por google
Las listas y el analista de seguridad
Anteriormente, examinaste cómo usar la notación entre corchetes para acceder y cambiar elementos en una lista, además de algunos métodos fundamentales para trabajar con listas. En esta lectura revisaremos estos conceptos con nuevos ejemplos, presentaremos el método .index() tal como se aplica a las listas y analizaremos cómo se usan las listas en un contexto de ciberseguridad.
Datos de lista en un entorno de seguridad
Como analista de seguridad, trabajarás con listas en Python en más de una ocasión. Una lista es una estructura de datos que consta de una colección de datos en forma secuencial. Puedes usar listas para almacenar varios elementos en una sola variable. Una sola lista puede contener varios tipos de datos.
En un contexto de ciberseguridad, las listas pueden usarse para almacenar nombres de usuario, direcciones IP, URL, ID de dispositivos y datos.
Colocar datos dentro de una lista te permite trabajar con ellos de varias maneras. Por ejemplo, puedes iterar a través de una lista de ID de dispositivos mediante un bucle for para realizar las mismas acciones para todos los elementos de la lista. Puedes incorporar una sentencia condicional para realizar solo estas acciones si las ID de dispositivo cumplen con determinadas condiciones.
Cómo trabajar con índices en listas
Índices
Al igual que las cadenas, puedes trabajar con listas a través de sus índices, y los índices comienzan en 0. En una lista, se asigna un índice a cada uno de sus elementos.
Esta tabla contiene el índice para cada elemento de la lista ["elarson", "fgarcia", "tshah", "sgilmore"]:
elemento | índice |
|---|---|
"elarson" | 0 |
"fgarcia" | 1 |
"tshah" | 2 |
"sgilmore" | 3 |
Notación entre corchetes
Al igual que las cadenas, puedes usar la notación entre corchetes para extraer elementos o porciones de una lista. Para extraer un elemento de una lista, después de una lista o de la variable que contiene una lista, agrega corchetes que contengan el índice del elemento. En el siguiente ejemplo, se extrae el elemento con un índice de 2 de la variable username_list y lo imprime. Puedes ejecutar este código para examinar lo que produce:
En este ejemplo, se extrae el elemento en el índice 2 directamente de la lista:
Cómo extraer una porción de una lista
Al igual que con las cadenas, también se puede usar la notación entre corchetes para tomar una porción de una lista. En este caso, esto significa extraer más de un elemento.
Cuando se extrae una porción de una lista, el resultado es otra lista. Esta lista extraída se llama sublista porque es parte de la lista original, que es más grande.
Para extraer una sublista mediante notación entre corchetes, debes incluir dos índices. Puedes ejecutar el siguiente código que toma una porción de una lista y así explorar la sublista que devuelve:
El código devuelve una sublista de ["elarson", "fgarcia"]. Esto se debe a que el elemento en el índice 0, "elarson", está incluido en la porción, pero el elemento en el índice 2, "tshah", está excluido. La porción termina un elemento antes de este índice.
Cómo cambiar los elementos de una lista
A diferencia de las cadenas, también puedes usar la notación entre corchetes para cambiar elementos en una lista. Esto se debe a que una cadena es inmutable y no se puede cambiar después de que ha sido creada y se le ha asignado un valor, pero las listas no son inmutables.
Para cambiar un elemento de lista, utiliza una sintaxis similar a la que utilizarías al reasignar una variable, pero coloca el elemento específico para cambiar la notación entre corchetes después del nombre de la variable. Por ejemplo, el siguiente código cambia el elemento en el índice 1 de la variable username_list a "bmoreno".
Este código actualizó el elemento en el índice 1 de "fgarcia" a "bmoreno".
Métodos de lista
Los métodos de lista son funciones que son específicas del tipo de datos de lista. Estos incluyen .insert() , .remove(), .append() e .index().
.insert()
El método .insert() agrega un elemento en una posición específica dentro de una lista. Tiene dos parámetros. El primero es el índice donde insertarás el nuevo elemento, y el segundo es el elemento que deseas insertar.
Puedes ejecutar el siguiente código para explorar cómo se puede usar este método para insertar un nuevo nombre de usuario en una lista de nombres de usuario:
Debido a que el primer parámetro es 2 y el segundo parámetro es "wjaffrey", "wjaffrey" se inserta en el índice 2, que es la tercera posición. Los otros elementos de la lista se desplazan una posición. Por ejemplo, "tshah" estaba ubicado originalmente en el índice 2, pero ahora se encuentra en el índice 3.
.remove()
El método .remove() elimina la primera aparición de un elemento específico en una lista. Solo tiene un parámetro, el elemento que deseas eliminar.
El siguiente código elimina "elarson" de username_list:
Este código elimina "elarson" de la lista. Los elementos que siguen a "elarson" se desplazan a una posición más cerca del comienzo de la lista.
Nota: Si hay dos apariciones del mismo elemento en una lista, el método .remove() solo elimina la primera instancia de ese elemento y no todas las ocurrencias.
.append()
El método .append() agrega entradas al final de una lista. Su único parámetro es el elemento que deseas agregar al final de la lista.
Por ejemplo, podrías usar .append() para agregar "btang" al final de username_list:
Este código coloca "btang" al final de username_list, y todos los demás elementos permanecen en sus posiciones originales.
El método .append() se usa a menudo con bucles for para rellenar una lista vacía con elementos. Puedes explorar cómo funciona con el siguiente código:
Antes del bucle for, la variable numbers_list no contiene ningún elemento. Cuando se imprime, se muestra la lista vacía. Luego, el bucle for itera a través de una secuencia de números y usa el método .append() para agregar cada uno de estos números a numbers_list. Después del bucle, cuando se imprime la variable numbers_list, muestra estos números.
.index()
Al igual que el método .index() utilizado para las cadenas, el método .index() utilizado para las listas encuentra la primera ocurrencia de un elemento en una lista y devuelve su índice. Toma el elemento que estás buscando como entrada.
Nota: Si bien tiene el mismo nombre y uso que el método .index() que se utiliza para las cadenas, el método .index() que se usa en listas no es el mismo. Los métodos se definen mediante un tipo de datos, y debido a que las cadenas y las listas se definen de manera diferente, los métodos también son diferentes.
A través de la variable username_list, puedes usar el método .index() para encontrar el índice del nombre de usuario "tshah":
Debido a que el índice de "tshah" es 2, genera este número.
Al igual que el método .index() utilizado para las cadenas, solo devuelve el índice de la primera aparición de un elemento de lista. Entonces, si el nombre de usuario "tshah" se repite dos veces, devolverá el índice de la primera instancia, y no el de la segunda.
Conclusiones clave
Python ofrece muchas maneras de trabajar con listas. La notación entre corchetes te permite extraer elementos y porciones de listas, y también alterarlas. Los métodos de lista te permiten alterarlas de varias maneras. Los métodos .insert() y .append() agregan elementos a las listas, mientras que el método .remove() te permite eliminarlos. Con el método .index(), puedes encontrar el índice de un elemento en una lista.
Comentarios
Publicar un comentario