在Python中将变量插入字典中

时间:2016-04-18 15:08:20

标签: python dictionary hashmap

为什么这段代码在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

2 个答案:

答案 0 :(得分:1)

我建议您首先了解您的目的需要什么样的数据结构

question可能有用。特别是,

  

•如果您有一组映射到值的唯一键,请使用字典。

     

•使用集合来存储无序的项目集。

您可以在High Performance Python

的第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'}