为什么这段代码在Python中添加了键而不是字典的值?
结果如下:
$ python hashtest.py
set(['yes:no'])
set(['hi', 'yes:no'])
代码如下:
hashmap={"yes:no"}
print hashmap
var1="hi"
var2="bye"
#hashmap[var1]=var2
#print hashmap
hashmap.update({var1:var2})
print hashmap
第一种方法(hashmap[var1] = var2
)给出了类型错误(赋值)。
TIA
答案 0 :(得分:1)
我建议您首先了解您的目的需要什么样的数据结构。
此question可能有用。特别是,
的第4章中找到详尽的解释•如果您有一组映射到值的唯一键,请使用字典。
•使用集合来存储无序的项目集。
在您的情况下,您似乎想要创建dictionary
,这样可以帮助您
>>> hashmap = {}
>>> hashmap["yes"] = "no"
>>> hashmap
{'yes': 'no'}
>>> var1="hi"
>>> var2="bye"
>>> hashmap[var1] = var2
>>> hashmap
{'yes': 'no', 'hi': 'bye'}
答案 1 :(得分:0)
您似乎正在尝试更改字典中给定键的值。这里有一些代码可以做到这一点。
>>> mydict = {'hi' : 'hello', 'bye' : 'goodbye', 'see ya' : None }
>>> print mydict
{'bye': 'goodbye', 'hi': 'hello', 'see ya': None}
>>> mydict['see ya'] = mydict['bye']
>>> mydict
{'bye': 'goodbye', 'hi': 'hello', 'see ya': 'goodbye'}