colors = ['red', 'blue, 'green'] print(colors[0]) # red print(colors[2]) # green print(len(colors)) # 3
Asignación con el = en las listas no hace una copia. En vez de eso, hace que las 2 variables apunten a la misma lista en memoria
b = colors ## No copia la lista
lista = ['lunes', 'martes', 'miercoles']
del lista[1] # elimina el martes
Es una forma fácil de recorrer elementos de una lista (u otra colección)
Recordar utilizar nombres significativos para la variable usada en el for
La construcción IN es en sí misma una manera fácil de ver si un elemento aparece en una lista
valor in colección verifica si el valor está en la colección, retornando True/False
lista = ['larry', 'curly', 'moe']
if 'curly' in lista:
print 'vamos todavía!'
Hay una variante, xrange(), que internamente funciona diferente para que sea más rápida que range en casos donde la performance es clave. En python 3 range tiene la misma performance que xrange
Funciona similar al de otros lenguajes, incluso soporta break y continue
break termina el bucle y continúa en la siguiente línea fuera del bloque
continue termina la iteración actual y vuelve al principio del bloque continuando con la siguiente iteración
## Acceder a cada 3er elemento de la lista a
i = 0
while i < len(a):
print a[i]
i = i + 3
Error común: los métodos de arriba no retornan una lista nueva, modifican la original
list = [1, 2, 3]
print list.append(4) ## NO, no funciona, append() retorna None
## Patron correcto:
list.append(4)
print list ## [1, 2, 3, 4]
Un patrón común es empezar con una lista vacía [], y después utilizar append() o extend() para agregarle elementos
list = [] ## Empieza como lista vacía
list.append('a') ## Usar append() para agregar elementos
list.append('b')
Los slices funcionan igual que en las cadenas, y también pueden ser utilizadas para cambiar sub-partes de una lista
list = ['a', 'b', 'c', 'd']
print list[1:-1] ## ['b', 'c']
list[0:2] = 'z' ## reemplaza ['a', 'b'] con ['z']
print list ## ['z', 'c', 'd']
Es posible agregar un parámetro key para cada elemento de la lista antes de efectuar comparaciones
sorted("This is a test string from Andrew".split(), key=str.lower)
student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
sorted(student_tuples, key=lambda student: student[2])