Python
Tipos de datos contenedor
list
crear

Declara una lista Python: Sintaxis y Ejemplos

En este artículo, veremos diferentes formas de declarar listas en Python.

Esto es lo que cubriremos:

  • Declarar e inicializar una lista vacía
  • Declaración de una lista bidimensional
  • Declarar listas usando las sentencias range() y for.
  • Declarar una lista de una longitud determinada
  • Declaración de listas de cadenas, clases, etc.
  • Declaración de listas de variables globales

1. Declarar una lista vacía

Hay varias formas de declarar e inicializar una lista vacía en Python. He aquí algunos ejemplos

1.1. Usando paréntesis

Primero, puedes declararla usando paréntesis vacíos, así

my_list = []

1.2. Usando la función list().

He aquí cómo inicializar con una lista vacía usando la función list().

my_list = list()

2. Declarar una lista vacía bidimensional

Al crear una lista vacía bidimensional, también puede utilizar corchetes para definirla, de la siguiente manera

matrix = [ [], [] ]

En la mayoría de los casos, se crean especificando el número de filas y columnas.

2.1. Declarar una lista bidimensional con una sentencia for

Para ello, puede utilizar un bucle for como el siguiente

rows = 3
cols = 4
 
my_list = []
for _ in range(rows):
    inner_list = []
    for _ in range(cols):
        inner_list.append(None)
    my_list.append(inner_list)

2.2. Declarar una lista bidimensional usando compresión de listas

Como alternativa, puedes escribir código más sencillo utilizando comprensiones de listas.

rows = 3
cols = 4
 
my_list = [[None for _ in range(cols)] for _ in range(rows)]
 
# Output
[
    [None, None, None, None],
    [None, None, None, None],
    [None, None, None, None]
]

3. Declarar una lista de cualquier longitud con la función range()

Una lista Python no es un tipo de datos cuya longitud pueda ser especificada o acotada. Para declarar una lista de una longitud determinada, debes utilizar un valor ficticio en su lugar.

El código de ejemplo siguiente declara una lista de longitud arbitraria rellenándola con 0. Puede utilizar la función range() para escribir código como éste.

list_count = 5
list_5 = [ 0 for _ in range(list_count) ]
 
# output
[0, 0, 0, 0, 0]

3.1. Declarar una lista de cadenas o clases específicas

Utilizando el mismo método anterior, puedes declarar fácilmente una lista de una cadena o clase dada de cualquier longitud.

Por ejemplo, puedes iterar sobre una cadena dada, o crear una lista de

list_count = 5
list_5_a = [ 'a' for _ in range(list_count) ]
 
# output
['a', 'a', 'a', 'a', 'a']

También puede utilizar la función chr() para representar cadenas distintas de las siguientes,

row = 4
col = 3
 
matrix = [ [chr(97 + i + j) for i in range(col)]  for j in range(row)]
 
# output
[['a', 'b', 'c'],
 ['b', 'c', 'd'],
 ['c', 'd', 'e'],
 ['d', 'e', 'f']]

También se pueden declarar listas de clases específicas.

class Student:
    def __init__(self, age):
        self.age = age
 
    def __repr__(self):
        return f'Student(age:{self.age})'
 
    def __str__(self):
        return f'Student(age:{self.age})'
 
list_count = 5
matrix  = [ Student(age) for age in range(list_count) ]
 
# output
[Student(age:0), Student(age:1), Student(age:2), Student(age:3), Student(age:4)]

4. Declarar una lista de variables globales

Python no tiene una función separada para declarar variables globales; todas las variables declaradas en el ámbito de nivel superior están disponibles como variables globales.

Si necesitas declarar una lista específica como variable global, puedes usarla en otros ámbitos, como funciones, anteponiendo a la variable de lista la palabra clave global.

# init as global
my_list = []
 
def add_to_list(value):
    global my_list
    my_list.append(value)
 
add_to_list(1)
add_to_list(2)
print(my_list)
 
# Output: [1, 2]

Conclusión

Hemos visto varias formas diferentes de declarar una lista en Python. Es algo simple, pero también es la base de todas las declaraciones de estructuras de datos.

Espero que este post te ayude en tu desarrollo actual.

copyright for Declara una lista Python: Sintaxis y Ejemplos

© 2023 All rights reserved.