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

2024-09-29 07:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个使用列表值作为键的字典。现在我想得到和列表值相同的字典键。请查找以下代码:

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 

我得到的输出是:

^{pr2}$

但我希望字典键的顺序与列表的定义顺序相同。i、 e.输出应为:

 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,}

Tags: 代码列表partner字典basic顺序customeropenerp
2条回答

您需要使用^{}。例如:

>>> 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类,因此应该避免将其用作变量名。在

你总是可以用你的原始列表按正确的顺序打印字典,尽管我不确定你最终打算怎么处理这本词典。在

for categ in category_list:
     print categ, dict[categ]

相关问题 更多 >