当前位置:  开发笔记 > 编程语言 > 正文

2列出字典问题

如何解决《2列出字典问题》经验,为你挑选了1个好方法。

我有两个清单:

list1 = ['r', '8', 'w', 'm', 'f', 'c', 'd',...]
list2 = ['AA', 'AB', 'AC', 'AD', 'AE', 'AF',...]

我希望将它们都放入字典中,以便:

{'r':'AA', '8':'AB', 'w':'AC', 'm':'AD',...}

我尝试过使用:

dictionary = dict(zip(list1, list2))

但是,我相信这个函数会做一些奇怪的排序,因为如果我打印"dictionary",我会得到以下输出:

{'1': 'BE', '0': 'EB', '3': 'CE', '2': 'FE', '5': 'DB',...}

为什么会这样,以及如何产生所需的输出?



1> wim..:

字典是无序的数据结构.您的一对列表中的项目仍将正确配对,但订购将丢失.

如果您需要在dict中保留列表的顺序,则可以使用OrderedDict.请注意,OrderedDict它不像常规那样高效dict,所以除非您确实需要订购,否则不要使用它们.

>>> from collections import OrderedDict
>>> list1 = ['r', '8', 'w', 'm', 'f', 'c', 'd']
>>> list2 = ['AA', 'AB', 'AC', 'AD', 'AE', 'AF']
>>> OrderedDict(zip(list1, list2))
OrderedDict([('r', 'AA'),
             ('8', 'AB'),
             ('w', 'AC'),
             ('m', 'AD'),
             ('f', 'AE'),
             ('c', 'AF')])

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有