如何使用另一个字典的键和一个值数组来创建另一个字典?在
我想过这样做:
zipped = zip(theExistingDict.keys(), arrayOfValues)
myNewDict = dict(zipped)
但是,这并不完全有效,arrayOfValues
中的每个值都与生成的字典中的任意键配对。我无法控制arrayOfValues
中的哪个元素与theExistingDict.keys()
中的哪个键成对出现。在
theExistingDict
如下所示:
{cd5}
arrayOfValues
如下所示:
1.0, u'GOLD_Spider Solitaire', u'Spider\\nSolitaire', 120000.0, 120000.0
所以:我希望arrayOfValues[0]
映射到game slot
(因为在字典中它的值是0)。在
有没有一种简单而优雅的方法?在
由于现有词典本身包含有关列表中元素位置的信息,您可以:
或者在py3k/python2.7+中:
^{pr2}$根据上面的注释,
theExistingDict
的字典可能不是您要查找的结构。在您可能对ordered dictionary感兴趣。在
另请参见"What’s the way to keep the dictionary parameter order in Python?"的答案
正如其他人所提到的,字典中没有定义任何顺序。python文档说,“键和值以任意顺序列出,这种顺序是非随机的,在python实现中各不相同,并且取决于字典的插入和删除历史。”
如果您希望使用将项添加到字典中的原始顺序,则可以尝试寻找保留此顺序的dictionary的替代实现,例如http://www.voidspace.org.uk/python/odict.html
相关问题 更多 >
编程相关推荐