如何获得dict构建的初始列表?

2024-03-28 13:33:22 发布

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

是否有任何方法可以确定我从initial_list构建的my_dict,仅通过使用字典本身:

initial_list = [('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3'),
                (1,2), ('a','z'), ('aa','z')]
my_dict = dict(initial_list)

正如我发现的那样,获取初始列表的一个选项(但其中项目的顺序与原始列表不同)是使用zipdict.items

initial_list_from = zip(my_dict.keys(),my_dict.values())
print initial_list_from == initial_list #False

initial_list_from = my_dict.items()
print initial_list_from == initial_list #False

这种方法的问题是my_dict == initial_list的计算结果是false,它们是不同的。。。你知道吗


Tags: 方法fromfalse列表字典myitemszip
1条回答
网友
1楼 · 发布于 2024-03-28 13:33:22

这是不可能的,因为dict class不存储创建它的键的顺序。你知道吗

唯一的方法是使用OrderedDict,这是一个dict,它可以记住第一次插入键的顺序。你知道吗

from collections import OrderedDict

initial_list = [('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3'),
                    (1,2), ('a','z'), ('aa','z')]
my_dict = OrderedDict(initial_list)

initial_list_from = my_dict.items()
print initial_list_from == initial_list # True

相关问题 更多 >