Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Listas como parámetros

8.2. Acceso a los elementos

La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero: 1: print numeros[0] 2: numeros[1] = 5 El operador [] puede aparecer en cualquier parte de una expresion. Cuando aparece a la izquierda de una asignacion, cambia uno de los elementos de la lista, de manera que el “unesimo” elemento de numeros, que era 123, ahora es 5. Se puede usar como índice cualquier expresion entera. 1: >>> numeros[3-2] 2: 5 3: >>> numeros[1.0] 4: TypeError: 5: sequence index must be integer Si intenta acceder (leer o modificar) un elemento que no existe, obtendra un error en tiempo de ejecución: 1: >>> numeros[2] = 5 2: IndexError: list assignment index out of 3: range Si se da un índice negativo, se cuenta hacia atras desde el final de la lista. ...

8.3. Longitud (tamaño) de una lista

La función len toma una lista y devuelve su tamaño. Es una buena idea usar este valor como límite superior de un bucle, en lugar de una constante. De esta manera, si el tamaño de la lista cambia, no habrá que estar haciendo cambios en todos los bucles; funcionaran correctamente con cualquier tamaño de lista. 1: jinetes = [ "guerra" , "hambre" , "peste" , "muerte" ] 2: i = 0 3: while i < 4: len(jinetes): 5: print jinetes[i] 6: i = i + 1 La ultima vez que se ejecuta el cuerpo del bucle, i es len(jinetes) - 1 , que es el índice del ultimo elemento. Cuando i se iguala a len(jinetes) , la condición falla y no se ejecuta el cuerpo, lo que es una cosa buena, ya que len(jinetes) no es un índice legal. Aunque una lista puede contener otra lista como elemento, la lista anidada cuenta como un elemento sencillo. El tamaño de esta lista es 4: 1: [ 'spam!' , 1, [ 'Brie' , 'Roquefort' , 'Pol le ...

8.6. Operaciones con listas

El operador + concatena listas: 1: >>> a = [1, 2, 3] 2: >>> b = [4, 5, 6] 3: >>> c = a + b 4: >>> print c 5: [1, 2, 3, 4, 5, 6] De forma similar, el operador * repite una lista un número dado de veces: 1: >>> [0] * 4 2: [0, 0, 0, 0] 3: >>> [1, 2, 3] * 3 4: [1, 2, 3, 1, 2, 3, 1, 2, 3] En el primer ejemplo la lista [0] contiene un solo elemento que es repetido cuatro veces. En el segundo ejemplo, la lista [1, 2, 3] se repite tres veces.

8.13. Listas como parámetros

Cuando se pasa una lista como argumento, en realidad se pasa una referencia a ella, no una copia de la lista. Por ejemplo, la función cabeza toma una lista como parámetro y devuelve el primer elemento. 1: def cabeza(lista): 2: return lista[0] Así es como se usa. 1: >>> numeros = [1,2,3] 2: >>> cabeza(numeros) 3: 1 El parámetro lista y la variable números son alias de un mismo objeto. El diagrama de estado es así: Como el objeto lista esta compartido por dos marcos, lo dibujamos entre ambos. Si la función modifica una lista pasada como parámetro, el que hizo la llamada vera el cambio. borra cabeza elimina el primer elemento de una lista. 1: def borra_cabeza(lista): 2: del lista[0] Aquí vemos el uso de borra cabeza: Si una función devuelve una lista, de 1: >>> numeros = [1,2,3] 2: >>> borra_cabeza(numeros) 3: >>> print numeros 4: [2, 3] vuelve una referencia a la lista. Por ejemplo, cola...