sábado, 13 de agosto de 2011

Listas en Python

La lista es un tipo de colección ordenada.  Sería equivalente a lo que en otros lenguajes se conoce por arrays o vectores. Las listas pueden contener cualquier tipo de dato: números, cadenas, booleanos, ... y también listas. Veremos a continuación algunos métodos útiles de estos objetos (todo en Python es un objeto).

L.append(object) : Añade un objeto al final de la lista.

L=[5,6,2,8,6]
x=5
L.append(x)
print L
[5, 6, 2, 8, 6, 5]

L=[5,6,2,8,6]
x=[6,6,3]
L.append(x)
print L
[5, 6, 2, 8, 6, [6, 6, 3]]

L.count(value) : Devuelve el número de veces que se encontró value en la lista.

L=[5,6,2,8,6]
L.count(6)
2

L.extend(iterable) : Añade los elementos del iterable a la lista.

L=[5,6,2,8,6]
x=[0,1,0,1,1]
L.extend(x)
print L
[5, 6, 2, 8, 6, 0, 1, 0, 1, 1]

L.index(value) : Devuelve la posición en la que se encontro la primera ocurrencia de value.

L=[5,6,2,8,6]
L.index(6)
1

L=[5,6,2,6,8,6]
L.index(6,2,4)
3

L.insert(index,object): Inserta el objeto en la posición index.

L=[5,6,2,6,8,6]
L.insert(2,[5,5])
print L
[5, 6, [5, 5], 2, 6, 8, 6]

L.pop([index]) : Devuelve el valor en la posición index y lo elimina de la lista. Si no seespecifica la posición, se utiliza el último elemento de la lista.

L=[5,6,2,6,8,6]
L.pop(2)
2

L.remove(value) : Elimina la priera ocurrencia de value en la lista.

L=[5,6,2,6,8,6]
L.remove(6)
print L
      [5, 2, 6, 8, 6]

L.reverse() : Invierte la lista.

L=[5,6,2,6,8,6]
L.reverse()
print L
[6, 8, 6, 2, 6, 5]


L.sort(cmp=None,key=None,reverse=false):  Ordena la lista. Si se especifica cmp este debe ser una función que tome como parametro dos valores x e y de la lista y devuelva -1 si x es menor que y, 0 si son iguales y 1 si x es mayor que y.

L=[5,6,2,6,8,6]
L.sort()
print L
[2, 5, 6, 6, 6, 8]

L=[5,6,2,6,8,6]
L.sort(reverse=True)
print L
[8, 6, 6, 6, 5, 2]

def f(x):
   return x*(x-1)
L=[0.1,0.5,0.25,0.6,0.15]
L.sort(key=f)
print L
[0.500000000000000, 0.600000000000000, 0.250000000000000, 0.150000000000000, 0.100000000000000]

Algunas funciones...

min([5,6,2,6,8,6])
2

max([5,6,2,6,8,6])
8

L=[5,6,2,8,6]
x=[5,6,2,8,6]
cmp(L,x)
0

L=list((4,5,5,5))   #las listas son mutables, las tuplas no.
print L
[4, 5, 5, 5]

L=[5,6,2,8,6]
len(L)
5

L1=[5,2,3]
L=sum(L1)
print L
10


map(function, sequence[,secuence, …]):

def f(n,m):
   return n*m+m
L1=[5,2,3]
L2=[8,1,4]
L=map(f,L1,L2)
print L
[48, 3, 16]

filter(function,sequence):
def f(n):
   return n**2%2==0
L1=[5,2,3]
L=filter(f,L1)
print L
[2]

reduce(function,sequence[,initial]):

def f(n,m):
   return n*m
L1=[5,2,3]
L=reduce(f,L1)
print L
30

No hay comentarios:

Publicar un comentario