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()
yfor
. - 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.
