¿Cómo agregar clave, valor de par al diccionario? ¿A continuación, he mencionado el siguiente formato?
{'1_somemessage': [[3L, 1L, u'AAA', 1689544L, datetime.datetime(2010, 9, 21, 22, 30), u'gffggf'], [3L, 1L, u'BBB', 1689544L, datetime.datetime(2010, 9, 21, 20, 30), u'ffgffgfg'], [3L, 1L, u'CCC', 1689544L, datetime.datetime(2010, 9, 21, 22, 30), u'hjhjhjhj'], [3L, 1L, u'DDD', 1689544L, datetime.datetime(2010, 9, 21, 21, 45), u'jhhjjh']], '2_somemessage': [[4L, 1L, u'AAA', 1689544L, datetime.datetime(2010, 9, 21, 22, 30), u'gffggf'], [4L, 1L, u'BBB', 1689544L, datetime.datetime(2010, 9, 21, 20, 30), u'ffgffgfg'], [4L, 1L, u'CCC', 1689544L, datetime.datetime(2010, 9, 21, 22, 30), u'hjhjhjhj'], [4L, 1L, u'DDD', 1689544L, datetime.datetime(2010, 9, 21, 21, 45), u'jhhjjh']]}
Añadir una clave, valor de par al diccionario
aDict = {} aDict[key] = value
¿Qué quieres decir con adición dinámica?
Para una referencia rápida, todos los métodos siguientes agregarán una nueva clave ‘a’ si aún no existe o actualizarán el par de valor de clave existente con el nuevo valor ofrecido:
data['a']=1 data.update({'a':1}) data.update(dict(a=1)) data.update(a=1)
También puede mezclarlos, por ejemplo, si la clave ‘c’ está en los datos pero ‘d’ no, el siguiente método actualizará ‘c’ y agregará ‘d’
data.update({'c':3,'d':4})
Llegué aquí buscando una manera de agregar un par de clave / valor como un grupo; en mi caso, fue el resultado de una llamada de función, por lo que agregar el par usando el dictionary[key] = value
requerirá que sepa el Nombre de la (s) clave (s).
En este caso, puede usar el método de actualización: dictionary.update(function_that_returns_a_dict(*args, **kwargs)))
Tenga cuidado, si el dictionary
ya contiene una de las claves, el valor original se sobrescribirá.
No estoy seguro de lo que quieres decir con “dynamic”. Si se refiere a agregar elementos a un diccionario en tiempo de ejecución, es tan fácil como dictionary[key] = value
.
Si desea crear un diccionario con clave, valor para comenzar (en tiempo de comstackción) luego use (¡sorpresa!)
dictionary[key] = value
Si desea agregar un nuevo registro en el formulario
newRecord = [4L, 1L, u'DDD', 1689544L, datetime.datetime(2010, 9, 21, 21, 45), u'jhhjjh']
a messageName
donde messageName
en la forma X_somemessage
puede, pero no tiene que estar en su diccionario, entonces hágalo de esta manera:
myDict.setdefault(messageName, []).append(newRecord)
De esta manera, se agregará a un messageName
existente o se messageName
una nueva lista para un nuevo messageName
.
Puede ser algún tiempo esto también será útil
import collections #Write you select statement here and other things to fetch the data. if rows: JArray = [] for row in rows: JArray2 = collections.OrderedDict() JArray2["id"]= str(row['id']) JArray2["Name"]= row['catagoryname'] JArray.append(JArray2) return json.dumps(JArray)
Ejemplo de salida:
[ { "id": 14 "Name": "someName1" }, { "id": 15 "Name": "someName2" } ]
Para insertar / agregar a un diccionario
{"0": {"travelkey":"value", "travelkey2":"value"},"1":{"travelkey":"value","travelkey2":"value"}} travel_dict={} #initialize dicitionary travel_key=0 #initialize counter if travel_key not in travel_dict: #for avoiding keyerror 0 travel_dict[travel_key] = {} travel_temp={val['key']:'no flexible'} travel_dict[travel_key].update(travel_temp) # Updates if val['key'] exists, else adds val['key'] travel_key=travel_key+1