valor recorrer lista elementos ejemplo diccionario dentro consultar buscar agregar actualizar python dictionary initialization key

recorrer - Inicializando un diccionario en python con un valor clave y sin valores correspondientes



lista dentro de un diccionario python (7)

Me preguntaba si había una manera de inicializar un diccionario en python con claves pero sin los valores correspondientes hasta que los establezca. Como:

Definition = {''apple'': , ''ball'': }

y luego más tarde puedo configurarlos:

Definition[key] = something

Solo quiero inicializar las claves, pero no conozco los valores correspondientes hasta que tenga que configurarlas más adelante. Básicamente, sé qué claves quiero agregar los valores a medida que se encuentran. Gracias.


Basado en el comentario de aclaración realizado por @ user2989027, creo que una buena solución es la siguiente:

definition = [''apple'', ''ball''] data = {''orange'':1, ''pear'':2, ''apple'':3, ''ball'':4} my_data = {} for k in definition: try: my_data[k]=data[k] except KeyError: pass print my_data

Intenté no hacer nada lujoso aquí. Configuré mis datos y un diccionario vacío. Luego recorro una lista de cadenas que representan claves potenciales en mi diccionario de datos. Copio cada valor de los datos a my_data, pero considero el caso en el que los datos pueden no tener la clave que quiero.


Podrías inicializarlos a None .


Puede inicializar los valores como cadenas vacías y rellenarlos más tarde a medida que se encuentren.

dictionary = {''one'':'''',''two'':''''} dictionary[''one'']=1 dictionary[''two'']=2


Sería bueno saber cuál es su propósito, por qué desea inicializar las claves en primer lugar. No estoy seguro de que necesites hacer eso en absoluto.

1) Si desea contar el número de ocurrencias de claves, simplemente puede hacer:

Definition = {} # ... Definition[key] = Definition.get(key, 0) + 1

2) Si desea obtener Ninguno (o algún otro valor) más adelante para las claves que no encontró, nuevamente puede usar el método get ():

Definition.get(key) # returns None if key not stored Definition.get(key, default_other_than_none)

3) Para todos los demás fines, puede utilizar una lista de las claves esperadas y verificar si las claves que se encuentran más adelante coinciden con esas.

Por ejemplo, si solo desea almacenar valores para esas claves:

expected_keys = [''apple'', ''banana''] # ... if key_found in expected_keys: Definition[key_found] = value

O si desea asegurarse de que se encontraron todas las claves esperadas:

assert(all(key in Definition for key in expected_keys))


Utilice la función fromkeys para inicializar un diccionario con cualquier valor predeterminado. En su caso, iniciará con None ya que no tiene en mente un valor predeterminado.

empty_dict = dict.fromkeys([''apple'',''ball''])

esto inicializará empty_dict como:

empty_dict = {''apple'': None, ''ball'': None}

Como alternativa, si desea inicializar el diccionario con un valor predeterminado que None sea None , puede hacerlo:

default_value = ''xyz'' nonempty_dict = dict.fromkeys([''apple'',''ball''],default_value)


usted podría utilizar un defaultdict. Te permitirá establecer los valores del diccionario sin preocuparte si la clave ya existe. Si accede a una clave que aún no se ha inicializado, devolverá el valor que especifique (en el ejemplo a continuación, devolverá Ninguno)

from collections import defaultdict your_dict = defaultdict(lambda : None)


q = input("Apple") w = input("Ball") Definition = {''apple'': q, ''ball'': w}