Error en python 3.6.2

Iniciado por HBN, 12 Septiembre 2017, 03:09 AM

0 Miembros y 1 Visitante están viendo este tema.

HBN

Python 3.6.2 (default, Sep  3 2017, 21:33:41)
[GCC 6.3.0 20170406] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x={"hola",1,True,256}
>>> print(x)
{256, 1, 'hola'}
>>> x['c'] = "que tal"
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support item assignment



estoy trabajando en python 3.6.2 y cuando intento agregar una clave/valor al diccionario me sale error,hubo algun cambio con las actualizaciones,si pueden hacermelo saber se los agradeceria mucho

gracias

engel lex

cuando haces
x={"hola",1,True,256}

estás declarando un set (si pones type(x) te dirá eso) un set no es más que un arreglo de elementos numerados (basicamente un array cualquiera), el set no soporta asignación de objetos por clave...


en lugar si haces
x={"hola":1,"True":,256}

es un diccionario que es lo que tu buscas

para evitar esta confusión usualmente simplemente declaras
x = {}

y luego rellenas
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

HBN

aaaa me confundi que manco xD
esto queria hacer
>>> x={"a":"hola"}
>>> x["b"] = "hola mmundo"
>>> print(x)
{'a': 'hola', 'b': 'hola mmundo'}
>>>