Estás en:   ArielOrtiz.com > Estructura de datos > API de Python para listas

[ Versión para imprimir ]

Estas notas son un subconjunto del Python 3 Built-in Types API, junto con algunos ejemplos.

API de Python para listas

Operaciones no destructivas

Estas operaciones no modifican el contenido de las listas sobre las cuales operan.

Operación Descripción Ejemplos
x in lst Devuelve True si existe al menos un elemento en lst que sea igual a x, o False en caso contrario. >>> 5 in [2, 7, 5, 4]
True
>>> 6 in [2, 7, 5, 4]
False
>>> 7 in []
False
x not in lst Devuelve False si existe un elemento en lst que sea igual a x, o True en caso contrario. >>> 5 not in [2, 7, 5, 4]
False
>>> 6 not in [2, 7, 5, 4]
True
>>> 7 not in []
True
a + b Devuelve la concatenación de a y b. >>> [1, 2, 3] + ['a', 'b', 'c']
[1, 2, 3, 'a', 'b', 'c']
lst * n
n * lst
Devuelve n copias de lst concatenadas. >>> 3 * ['a', 1]
['a', 1, 'a', 1, 'a', 1]
lst[i] Devuelve el elemento en el índice i (comenzando en cero) de lst. Si i es negativo el índice se calcula como: len(lst) + i. Arroja IndexError si el índice está fuera de rango. >>> a = [2, 7, 5, 4]
>>> a[0]
2
>>> a[3]
4
>>> a[-1]
4
>>> a[-4]
2
lst[i:j:k] Devuelve una rebanada (slice) de la lista lst empezando en i (inclusive) y terminando en j (exclusive), espaciando los elementos k pasos a la vez. Cualquiera de i, j y k pueden ser omitidos. En ese caso toman por omisión los valores 0, len(lst) y 1 respectivamente. >>> a = [2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
>>> a[2:7]
[6, 8, 10, 1, 3]
>>> a[1:8:2]
[4, 8, 1, 5]
>>> a[:4]
[2, 4, 6, 8]
>>> a[7:]
[5, 7, 9]
>>> a[:]
[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
>>> a[::-1]
[9, 7, 5, 3, 1, 10, 8, 6, 4, 2]
>>> a[20:30]
[]
len(lst) Devuelve la cantidad de elementos de lst. >>> len([])
0
>>> len(['a', 'b', 'c'])
3
>>> len([[1, 2, 3], 4, []])
3
min(lst) Devuelve el elemento más pequeño de lst. Los elementos de lst deben ser comparables entre sí. Arroja ValueError si lst está vacía. >>> min([0, 5, 3, -10, 4])
-10
>>> min([100])
100
max(lst) Devuelve el elemento más grande de lst. Los elementos de lst deben ser comparables entre sí. Arroja ValueError si lst está vacía. >>> max([0, 5, 3, -10, 4])
5
>>> max([100])
100
lst.index(x) Devuelve el índice de la primera ocurrencia de x en lst. Arroja ValueError si lst no contiene a x. >>> [0, 5, 1, 4, 2, 5].index(5)
1
lst.count(x) Devuelve el número de veces que aparece x en lst. >>> [0, 5, 1, 4, 2, 5].count(5)
2
>>> [0, 5, 1, 4, 2, 5].count(6)
0
reversed(lst) Devuelve un iterador con los mismos elementos de lst pero en orden invertido. >>> a = [2, 4, 6, 8, 10]
>>> list(reversed(a))
[10, 8, 6, 4, 2]
sorted(
  lst,
  key=None,
  reverse=False)
Devuelve una lista ordenada con todos los elementos de lst. Los elementos de lst deben ser comparables entre sí. Si reverse es False, ordena de manera ascendente, de lo contrario ordena de manera descendente. key debe ser una función de un argumento que se mandará llamar al momento de comparar cada elemento. Los elementos se comparan directamente si key es None. >>> a = [23, 8, 4, 16, 42, 15]
>>> sorted(a)
[4, 8, 15, 16, 23, 42]
>>> sorted(a, reverse=True)
[42, 23, 16, 15, 8, 4]
>>> # Ordena usando el valor absoluto
>>> sorted([-7, -15, 10, 5], key=abs)
[5, -7, 10, -15]

Operaciones destructivas

Estas operaciones modifican el contenido de las listas sobre las cuales operan, por lo que es importante usarlas con cautela.

Operación Descripción Ejemplos
lst[i] = x El elemento en el índice i de lst se reemplaza por x. Arroja IndexError si el índice está fuera de rango. >>> a = [4, 6, 7]
>>> a[1] = 42
>>> a
[4, 42, 7]
del lst[i] Elimina de lst el elemento en el índice i. Los elementos de la posición i+1 en adelante se recorren una posición hacia abajo. Arroja IndexError si el índice está fuera de rango. >>> a = [4, 6, 7]
>>> del a[1]
>>> a
[4, 7]
lst.append(x) Añade al final de lst el elemento x. Devuelve None. >>> a = [4, 6, 7]
>>> a.append(10)
>>> a
[4, 6, 7, 10]
>>> a.append([1, 2, 3])
[4, 6, 7, 10, [1, 2, 3]]
a.extend(b) Concatena al final de a la lista b. Devuelve None. >>> a = [4, 6, 7]
>>> a.extend([1, 2, 3])
>>> a
[4, 6, 7, 1, 2, 3]
lst.insert(i, x) Inserta x en el índice i de lst. Pero antes, los elementos de la posición i en adelante se recorren una posición hacia arriba. Si i está fuera de rango, inserta x al final (o inicio) de lst. Devuelve None. >>> a = [4, 6, 7]
>>> a.insert(1, 5)
>>> a
[4, 5, 6, 7]
lst.pop(i) Remueve y devuelve el elemento contenido en el índice i de lst. i toma por omisión el índice del último elemento de lst. Arroja IndexError si el índice está fuera de rango. >>> a = [4, 6, 7]
>>> a.pop()
7
>>> a.pop(0)
4
>>> a
[6]
lst.remove(x) Remueve la primera ocurrencia de x en lst. Arroja ValueError si lst no contiene a x. Devuelve None. >>> a = [4, 6, 7, 6]
>>> a.remove(6)
>>> a
[4, 7, 6]
lst.reverse() Invierte el orden de los elementos de lst, dejando el resultado en la misma lista (in-place algorithm). Devuelve None. >>> a = [4, 6, 7]
>>> a.reverse()
>>> a
[7, 6, 4]
lst.sort(
  key=None,
  reverse=False)
Ordena los elementos de lst, dejando el resultado en la misma lista (in-place algorithm). Los elementos de lst deben ser comparables entre sí. Si reverse es False, ordena de manera ascendente, de lo contrario ordena de manera descendente. key debe ser una función de un argumento que se mandará llamar al momento de comparar cada elemento. Los elementos se comparan directamente si key es None. Devuelve None. >>> a = [23, 8, 4, 16, 42, 15]
>>> a.sort()
>>> a
[4, 8, 15, 16, 23, 42]
>>> a.sort(reverse=True)
>>> a
[42, 23, 16, 15, 8, 4]
>>> # Ordena usando el valor absoluto
>>> b = [-7, -15, 10, 5]
>>> b.sort(key=abs)
>>> b
[5, -7, 10, -15]