En este artículo, primero discutiremos diferentes formas de crear una lista vacía y luego veremos cómo agregarle elementos usando el bucle for o la comprensión de listas de una línea.
Hay dos formas de crear una lista vacía en python es decir, usando o list(). Vamos a ver ambas una por una,
Crear una lista vacía en python usando
En Python, se puede crear una lista vacía simplemente escribiendo corchetes es decir . Si no se proporcionan argumentos en los corchetes , entonces devuelve una lista vacía es decir.
# Creating empty List using sample_list = print('Sample List: ', sample_list)
Salida:
Sample List:
Crear una lista vacía en python usando el constructor list()
La clase list de python proporciona un constructor,
list()
Acepta un argumento opcional i.Es decir, una secuencia iterable y crea una lista a partir de estos elementos. Si no se proporciona Sequence entonces devuelve una lista vacía. Usemos esto para crear una lista vacía,
# Creating empty List using list constructorsample_list = list()print('Sample List: ', sample_list)
Salida:
Sample List:
Diferencia entre y list()
Podemos crear una lista vacía en python usando o list(), pero la principal diferencia entre estos dos enfoques es la velocidad. es mucho más rápido que list() porque,
- list() requiere una búsqueda de símbolos, ya que podría ser posible que en nuestro código, alguien haya asignado una nueva definición a la palabra clave list.
- Llamada a función extra: Como se llamará al constructor, por lo que es una llamada de función extra.
- Dentro del constructor se comprueba si se pasa una secuencia iterable, si no entonces sólo crea una lista vacía.
En cambio, es sólo un literal en python que siempre devuelve el mismo resultado es decir, una lista vacía. Por lo tanto, no se requiere ninguna búsqueda de nombre adicional o llamada a una función, lo que lo hace mucho más rápido que list().
Crear una lista vacía y anexar elementos
Hasta ahora hemos visto dos formas diferentes de crear una lista vacía en python, ahora vamos a discutir las diferentes formas de anexar elementos a la lista vacía.
Crear una lista vacía y añadirle elementos usando el bucle for
Supongamos que queremos crear una lista vacía y luego añadirle 10 números (del 0 al 9 ). Veamos cómo hacerlo,
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Append each number at the end of list sample_list.append(i)
Salida:
Sample List:
Usamos la función range() para generar una secuencia iterable de números del 0 al 9. Luego, usando el bucle for, iteramos sobre esa secuencia y para cada número de la secuencia, llamamos a la función append() de la lista y pasamos el número a la función list.append(), que añade el elemento dado al final de la lista en su lugar.
Crear una lista vacía y añadirle elementos en una línea usando List Comprehension
Usaremos la función range() como en el ejemplo anterior para generar una secuencia iterable de números del 0 al 9. Pero en lugar de llamar a la función append(), utilizaremos la comprensión de listas para iterar sobre la secuencia y añadir cada número al final de la lista vacía. Veamos cómo hacerlo,
# Append 10 numbers in an empty list from number 0 to 9sample_list =
Salida:
Sample List:
Aquí creamos una lista vacía y le añadimos elementos en una sola línea.
Crear una lista vacía e insertar elementos al final usando la función insert()
Python proporciona una función insert() i.e.
list.insert(index, item)
Inserta el elemento en el índice dado en la lista en su lugar.
Usemos list.insert() para añadir elementos al final de una lista vacía,
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Insert each number at the end of list sample_list.insert(len(sample_list), i)print('Sample List: ', sample_list)
Salida:
Sample List:
Hemos iterado sobre una secuencia de números (0 a 9) proporcionando mi función range(), para cada número llamamos a la función list.insert() y le pasamos el número junto con el índice size-1, es decir, el final de la lista.
Crear una lista vacía e insertar elementos al principio
A veces nuestro requisito es un poco diferente, es decir, en lugar del final queremos añadir elementos al principio de una lista vacía. Veamos cómo hacerlo usando la función list.index(),
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Insert each number at the start of list sample_list.insert(0, i)print('Sample List: ', sample_list)
Salida:
Sample List:
Aquí, iteramos sobre una secuencia de números (0 a 9) proporcionada por la función range(), para cada número llamamos a la función list.insert() y le pasamos el número junto con el índice 0, es decir, el inicio de la lista.
El ejemplo completo es el siguiente,
def main(): print('*** Create an empty list using ***') # Creating empty List using sample_list = print('Sample List: ', sample_list) print('*** Create an empty list using list() ***') # Creating empty List using list constructor sample_list = list() print('Sample List: ', sample_list) print('***** Create an empty list and append elements at end *****') print('*** Create an empty list and append elements using for loop ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Append each number at the end of list sample_list.append(i) print('Sample List: ', sample_list) print('*** Create an empty list and append in one line ***') # Append 10 numbers in an empty list from number 0 to 9 sample_list = print('Sample List: ', sample_list) print('*** Create an empty list and insert elements at end ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Insert each number at the end of list sample_list.insert(len(sample_list), i) print('Sample List: ', sample_list) print('*** Create an empty list and insert elements at start ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Insert each number at the start of list sample_list.insert(0, i) print('Sample List: ', sample_list)if __name__ == '__main__': main()
Salida:
*** Create an empty list using ***Sample List: *** Create an empty list using list() ***Sample List: ***** Create an empty list and append elements at end ******** Create an empty list and append elements using for loop ***Sample List: *** Create an empty list and append in one line ***Sample List: *** Create an empty list and insert elements at end ***Sample List: *** Create an empty list and insert elements at start ***Sample List: