Método get() del diccionario (Dictionary) de Python
Descripción
Diccionario de Python (Dictionary)get()La función devuelve el valor de la clave especificada.
Sintaxis
Sintaxis del método get():
dict.get(key[, value])
Parámetros
- key -- la clave a buscar en el diccionario.
- value -- opcional, si el valor de la clave especificada no existe, devuelve este valor predeterminado.
Valor de retorno
Devuelve el valor de la clave especificada; si la clave no está en el diccionario, devuelve el valor predeterminadoNoneo el valor predeterminado establecido.
Ejemplo
El siguiente ejemplo muestraget()el método de uso de la función:
Ejemplo
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tinydict = {'Name': 'Ejemplo', 'Age': 27}
print ("Age : %s" % tinydict.get('Age'))
# No se estableció Sex, ni se ha establecido un valor por defecto, salida None
print ("Sex : %s" % tinydict.get('Sex'))
# No se estableció Salary, salida del valor predeterminado 0.0
print ('Salary: %s' % tinydict.get('Salary', 0.0))
# -*- coding: UTF-8 -*-
tinydict = {'Name': 'Ejemplo', 'Age': 27}
print ("Age : %s" % tinydict.get('Age'))
# No se estableció Sex, ni se ha establecido un valor por defecto, salida None
print ("Sex : %s" % tinydict.get('Sex'))
# No se estableció Salary, salida del valor predeterminado 0.0
print ('Salary: %s' % tinydict.get('Salary', 0.0))
El resultado del ejemplo anterior es:
Age : 27 Sex : None Salary: 0.0
Diferencia entre el método get() y el acceso a elementos con dict[key]
get(key) El método, cuando la clave (key) no está en el diccionario, puede devolver el valor predeterminadoNoneo el valor predeterminado establecido.
dict[key]Cuando la clave (key) no está en el diccionario, se activaKeyErroruna excepción.
Ejemplo
>>> ejemplo = {}
>>> print('URL: ', ejemplo.get('url')) # Devuelve None
URL: None
>>> print(ejemplo['url']) # Provoca KeyError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'url'
>>>
>>> print('URL: ', ejemplo.get('url')) # Devuelve None
URL: None
>>> print(ejemplo['url']) # Provoca KeyError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'url'
>>>
Uso de diccionarios anidados
get()El uso del método con diccionarios anidados es el siguiente:
Ejemplo
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tinydict = {'EJEMPLO' : {'url' : 'www.example.com'}}
res = tinydict.get('EJEMPLO', {}).get('url')
# Salida
print("EJEMPLO url es : %s" % str(res))
<p>El resultado del ejemplo anterior es:</p>
<pre>
EJEMPLO url es : www.ejemplo.com
</pre>
# -*- coding: UTF-8 -*-
tinydict = {'EJEMPLO' : {'url' : 'www.example.com'}}
res = tinydict.get('EJEMPLO', {}).get('url')
# Salida
print("EJEMPLO url es : %s" % str(res))
<p>El resultado del ejemplo anterior es:</p>
<pre>
EJEMPLO url es : www.ejemplo.com
</pre>
Diccionario de Python