Saltar al contenido

Listas – PythonForBeginners.com

¿Qué es una lista?

La estructura de datos más simple en Python y se usa para almacenar una lista de valores.

Las listas son colecciones de elementos (cadenas, números enteros o incluso otras listas).

Cada elemento de la lista tiene un valor de índice asignado.

Las listas se incluyen en [ ]

Cada elemento de una lista está separado por una coma

A diferencia de las cadenas, las listas son mutables, lo que significa que se pueden cambiar.

Creación de listas

Las listas se crean utilizando una lista de valores separados por comas rodeados por
corchetes.

Las listas contienen una secuencia de valores (al igual que las cadenas pueden contener una secuencia
de personajes).

Las listas son muy fáciles de crear, estas son algunas de las formas de hacer listas

emptyList = [ ]  

list1 = ['one, two, three, four, five']

numlist = [1, 3, 5, 7, 9]

mixlist = ['yellow', 'red', 'blue', 'green', 'black']

#An empty list is created using just square brackets:
list = []

Longitud de lista

Con la función de longitud podemos obtener la longitud de una lista.

list = ["1", "hello", 2, "world"]
len(list)
>>4

Lista anexar

List append agregará el elemento al final.

Si desea agregar al principio, puede usar la función de inserción (ver más abajo)

list.insert(0, "Files")

list = ["Movies", "Music", "Pictures"]
 
list.append(x) #will add an element to the end of the list
list.append("Files")

print list
['Movies', 'Music', 'Pictures', 'Files’]

Insertar lista

La sintaxis es:

list.insert(x, y) 	#will add element y on the place before x

list = ["Movies", "Music", "Pictures"] 

list.insert(2,"Documents")

print list
['Movies', 'Music', 'Documents', 'Pictures', 'Files']

#You can insert a value anywhere in the list

list = ["Movies", "Music", "Pictures"] 
list.insert(3, "Apps”)

Lista Eliminar

Para eliminar la primera aparición de un elemento en una lista, simplemente use list.remove

La sintaxis es:

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.

list.remove(x)

List = ['Movies', 'Music', 'Files', 'Documents', 'Pictures']

list.remove("Files")

print list
['Movies', 'Music', 'Documents', 'Pictures']

a = [1, 2, 3, 4]
a.remove(2)
print a
[1, 3, 4]

Lista extender

La sintaxis es:

list.extend(x) 	#will join the list with list x

list2 = ["Music2", "Movies2"]
list1.extend(list2)

print list1
['Movies', 'Music', 'Documents', 'Pictures', 'Music2', 'Movies2’]

Eliminar lista

Utilice del para eliminar el elemento según la posición del índice.

list = ["Matthew", "Mark", "Luke", "John"]
del list[1]

print list
>>>Matthew, Luke, John

Lista de palabras clave

La palabra clave “en” se puede utilizar para probar si un elemento está en una lista.

list = ["red", "orange", "green", "blue"]
if "red" in list:
    do_something()
    
#Keyword "not" can be combined with "in".

list = ["red", "orange", "green", "blue"]
if "purple" not in list:
    do_something()

Lista inversa

El método inverso invierte el orden de toda la lista.

L1 = ["One", "two", "three", "four", "five"]
 
#To print the list as it is, simply do:
print L1
 
#To print a reverse list, do:
for i in L1[::-1]:
    print i

#OR

L = [0, 10, 20, 40]
L.reverse()

print L
[40, 20, 10, 0]

Orden de lista

La forma más sencilla de ordenar una lista es con la función de ordenación (lista).

Eso toma una lista y devuelve una nueva lista con esos elementos en orden.

La lista original no se modifica.

La función sorted () se puede personalizar mediante argumentos opcionales.

El argumento opcional sorted () reverse = True, por ejemplo, ordenado (lista, reverse = True),
hace que se clasifique al revés.

#create a list with some numbers in it
numbers = [5, 1, 4, 3, 2, 6, 7, 9]
 
#prints the numbers sorted
print sorted(numbers)
 
#the original list of numbers are not changed
print numbers
my_string = ['aa', 'BB', 'zz', 'CC', 'dd', "EE"]
 
#if no argument is used, it will use the default (case sensitive)
print sorted(my_string)
 
#using the reverse argument, will print the list reversed
print sorted(strs, reverse=True)   ## ['zz', 'aa', 'CC', 'BB']

This will not return a value, it will modify the list
list.sort()

División de lista

Divide cada elemento en una lista.

mylist = ['one', 'two', 'three', 'four', 'five']
newlist = mylist.split(',')

print newlist
['one', ' two', ' three', ' four', 'five’]

Indexación de listas

Cada elemento de la lista tiene un valor de índice asignado a partir de 0.

El acceso a los elementos de una lista se denomina indexación.

list 	= ["first", "second", "third"]
list[0] == "first"
list[1] == "second"
list[2] == "third”

Rebanar lista

El acceso a partes de segmentos se denomina rebanar.

Se puede acceder a las listas como si fueran cadenas utilizando la [ ] operadores.

El punto clave para recordar es que: el valor final representa el primer valor que
no está en el sector seleccionado.

Entonces, la diferencia entre el final y el inicio es el número de elementos seleccionados
(si el paso es 1, el valor predeterminado).

Creemos una lista con algunos valores en ella

colors = ['yellow', 'red', 'blue', 'green', 'black']

print colors[0]
>>> yellow
    
print colors [1:]
>>> red, blue, green, black

Veamos este ejemplo tomado de esta poste de stackoverflow.

a[start:end] 			# items start through end-1
a[start:]    			# items start through the rest of the array
a[:end]      			# items from the beginning through end-1
a[:]         			# a copy of the whole array

También existe el valor de paso, que se puede utilizar con cualquiera de los anteriores

a[start:end:step] 		# start through not past end, by step

La otra característica es que el inicio o el final pueden ser un número negativo, lo que significa que cuenta
desde el final de la matriz en lugar del principio.

a[-1]    			# last item in the array
a[-2:]   			# last two items in the array
a[:-2]   			# everything except the last two items

Bucles de lista

Cuando se utilizan bucles en la programación, a veces es necesario almacenar los resultados de la
bucles.

Una forma de hacer eso en Python es usando listas.

Esta breve sección le mostrará cómo puede recorrer una lista de Python y procesar
los elementos de la lista.

#It can look something like this:
matching = []
for term in mylist:
    do something

#For example, you can add an if statement in the loop, and add the item to the (empty) list
if it's matching.
matching = []    #creates an empty list using empty square brackets []
for term in mylist:
    if test(term):
        matching.append(term)

#If you already have items in a list, you can easily loop through them like this:
items = [ 1, 2, 3, 4, 5 ]
for i in items:
    print i

Métodos de lista

Las llamadas a métodos de lista tienen la lista en la que operan antes del nombre del método.

Cualquier otro valor que el método necesite para hacer su trabajo se proporciona de la manera normal como
un argumento adicional dentro de los corchetes.

s = ['h','e','l','l','o']	#create a list
s.append('d')         		#append to end of list
len(s)                		#number of items in list
s.sort()               		#sorting the list
s.reverse()           		#reversing the list
s.extend(['w','o'])    		#grow list
s.insert(1,2)         		#insert into list
s.remove('d')           	#remove first item in list with value e
s.pop()               		#remove last item in the list
s.pop(1)              		#remove indexed value from list
s.count('o')            	#search list and return number of instances found
s = range(0,10)          	#create a list over range 
s = range(0,10,2)        	#same as above, with start index and increment

Ejemplos de listas

Terminemos este artículo mostrando algunos ejemplos de listas: Primero, cree una lista que contenga solo números.

list = [1,2,3,5,8,2,5.2]	#creates a list containing the values 1,2,3,5,8,2,5.2
i = 0
while i < len(list):		#The while loop will print each element in the list
    print list[i]		 #Each element is reached by the index (the letter in the square bracket)
    i = i + 1			 #Increase the variable i with 1 for every time the while loop runs.

El siguiente ejemplo contará el valor promedio de los elementos de la lista.

list = [1,2,3,5,8,2,5.2]
total = 0
i = 0
while i < len(list):
    total = total + list[i]
    i = i + 1

average = total / len(list)
print average

Artículos Relacionados

Lista de comprensiones en Python

Manipulación de listas en Python

Inversión de listas y cadenas

Entrenamiento de Python recomendado

Para el entrenamiento de Python, nuestra principal recomendación es DataCamp.