如何维护现有字典python的顺序

2024-04-20 10:11:25 发布

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

我创建了一个字典,后来我想在insert中插入它的值到一个列表中。我知道单子是按顺序排列的,但我认为字典不是。我知道有有序的信息,但据我所知,它在添加到字典中时保持着秩序。在这里,我已经有了完整的词典,没有加进去。在

我使用的是python3.6

我的剧本是:

dirs_dictionary = {"user_dir_treatment":"/home/dataset_1/treatment",
                           "user_dir_control":"/home/dataset_1/control"}

empty_list = []

for key, value in dirs_dictionary.items()):
    empty_list.append(dirs_dictionary[key])

因此,最终,我希望列表中包含的值的顺序与它们在字典中的顺序相同,这意味着列表中的第一项是"/home/dataset_1/treatment",第二项是"/home/dataset_1/control"。在

我怎样维护字典的秩序?在


Tags: keyhome列表dictionary字典顺序dir秩序
1条回答
网友
1楼 · 发布于 2024-04-20 10:11:25

在Python3.6中,字典是内部排序的,但这被认为是一个不应该依赖的实现细节。在

在Python3.7中,字典是按顺序排列的。在

因此,您有两种选择:

使用实施细节,风险自负

您可以使用list(d)来检索保持插入顺序的字典键。在

dirs_dictionary = {"user_dir_treatment":"/home/dataset_1/treatment",
                   "user_dir_control":"/home/dataset_1/control"}

empty_list = list(dirs_dictionary)

print(empty_list)

# ['user_dir_treatment', 'user_dir_control']

使用OrderedDict

^{pr2}$

相关问题 更多 >