En Python, necesito un objeto de diccionario que se parece a:¿Es posible asignar el mismo valor a varias claves en un objeto dict a la vez?
{'a': 10, 'b': 20, 'c': 10, 'd': 10, 'e': 20}
he sido capaz de conseguir esto con éxito mediante la combinación de los dict.update()
y dict.fromkeys()
funciones de este modo:
myDict = {}
myDict.update(dict.fromkeys(['a', 'b', 'c'], 10))
myDict.update(dict.fromkeys(['b', 'e'], 20))
Sin embargo, debido el código se está escribiendo para usuarios novatos que pueden necesitar agregar claves/valores de vez en cuando, prefiero una sintaxis simple (Perl-like) como:
myDict = {}
myDict['a', 'c', 'd'] = 10
myDict['b', 'e'] = 20
Esto, sin embargo, me da:
myDict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}
¿Hay alguna manera de simplificar mi primer ejemplo (usando dict.update()
y dict.fromkeys()
) más, y obtener el objeto dict Busco?
O, como alternativa, si tengo un dict con tuplas como en mi segundo ejemplo, ¿hay una manera fácil para hacer una búsqueda como myDict['c']
o myDict.get('c')
y obtener el valor 10?
El PO dijo que el código está siendo escrito para los principiantes, y esto es relativamente difícil para comprender por un novato. – taleinat
@teleinat: por lo tanto, escriba una función que puedan usar. ¿Me estás degradando seriamente porque mi código no es lo suficientemente estúpido? Mi código está usando métodos y funciones integrados. ¿Cómo es eso no lo básico?¿De qué sirve escribir código para principiantes si no van a aprender de él? – SilentGhost
El OP obviamente sabe cómo programar en Python. Interpreto su pregunta como si hay una solución incorporada más simple para su caso de uso, no si es posible escribir una función de este tipo o lograr lo que quería con código complejo. Por lo tanto, como entiendo, la respuesta de SilentGhost no responde la pregunta, por lo que la rechacé. Mi comentario inicial no describió mi razón para la votación negativa. – taleinat