Skip to main content
 首页 » 编程设计

python之使用列表值作为字典键作为键值

2025年05月04日19开发

我正在创建一个使用列表值作为键的字典。现在我想以与列表值相同的顺序获取字典键。请在下面找到代码:

dict = {} 
 
category_list = [u'Customer', u'Consumers', u'OpenERP Partners', u'Basic Partner', u'Retailers', u'Supplier'] 
 
for category in category_list: 
    dict[category] = 0.0 
 
print "dict--->", dict  

我得到的输出是:

dict--->{u'Customer': 0.0, u'Consumers': 0.0, u'Basic Partner': 0.0, u'Supplier': 0.0, u'Retailers': 0.0, u'OpenERP Partners': 0.0} 

但我希望字典键的顺序与定义列表的顺序相同。即输出应该是这样的:

 dict--->{u'Customer': 0.0, u'Consumers': 0.0, u'OpenERP Partners': 0.0, u'Basic Partner': 0.0,  u'Retailers': 0.0, u'Supplier': 0.0,} 

请您参考如下方法:

您需要使用 OrderedDict .例如:

>>> import collections 
>>> d = collections.OrderedDict() 
>>> category_list = [u'Customer', u'Consumers', u'OpenERP Partners', u'Basic Partner', u'Retailers', u'Supplier'] 
>>> for category in category_list: 
...   d[category] = 0.0 
...  
>>> print d 
OrderedDict([(u'Customer', 0.0), (u'Consumers', 0.0), (u'OpenERP Partners', 0.0), (u'Basic Partner', 0.0), (u'Retailers', 0.0), (u'Supplier', 0.0)]) 

此外,dict 已经在 python 中用于引用 dict 类,因此您应该避免将其用作变量名。