10.2. Métodos del diccionario

Un metodo es similar a una función, acepta parámetros y devuelve un valor, pero la sintaxis es diferente. Por ejemplo, el método keys acepta un diccionario y devuelve una lista con las claves que aparecen, pero en lugar de la sintaxis de la función keys(ing a esp), usamos la sintaxis del metodo ing a esp.keys().

   1: >>> ing\_a\_esp.keys()
   2: ['one', 'three', 'two']

Esta forma de notación de punto especifica el nombre de la función, keys, y el nombre del objeto al que se va a aplicar la función, ing a esp. Los paréntesis indican que este metodo no admite parámetros.


La llamada a un metodo se denomina invocación; en este caso, diríamos que estamos invocando keys sobre el objeto ing a esp.


El método valúes es similar; devuelve una lista de los valores del diccionario:





   1: >>> ing\_a\_esp.values()
   2: ['uno', 'tres', 'dos']

El metodo ítems devuelve ambos, una lista de tuplas con los pares clave-valor del diccionario:




   1: >>> ing\_a\_esp.items()
   2: [('one','uno'), ('three', 'tres'), ('two', 'dos')]

La sintaxis nos proporciona información muy útil acerca del tipo de datos. Los corchetes indican que es una lista. Los paréntesis indican que los elementos de la lista son tuplas.


Si un método acepta un argumento, usa la misma sintaxis que una llamada a una función. Por ejemplo, el metodo has key acepta una clave y devuelve verdadero (1) si la clave aparece en el diccionario:




   1: >>> ing\_a\_esp.has_key('one')
   2: 1
   3: >>> ing\_a\_esp.has_key('deux')
   4: 0



Si usted invoca un metodo sin especificar un objeto, provoca un error. En este caso, el mensaje de error no es de mucha ayuda:




   1: >>> has_key('one')
   2: NameError: has_key
0