首页 > 解决方案 > 如何做一个字典,用fifo进程给出输出

问题描述

我正在搜索一个方法或库,该方法或库使用允许类似方法的 dict:, element_dict_in({'polo':789})element_dict_out()返回我放入字典中的第一个关系,我之前提到的 2 方法没有实现,这是为了澄清我的想法:

例如:

dict={}
element_dict_in({'polo1':789})
element_dict_in({'polo2':123})
element_dict_in({'polo3':4556})#{'polo1':789,'polo2':123,'polo3':4556}
element_dict_out()#return {'polo1':789}

我在 Dictionary 中找到了 FIFO 顺序的这个链接pythonic 方式, 但对我来说还不够清楚,所以存在类似的东西吗?

标签: pythondictionaryfifo

解决方案


Python 实际上已经在标准库中提供了这个 - collections.OrderedDict.

from collections import OrderedDict

my_dict = OrderedDict()
my_dict['polo1'] = 789
my_dict['polo2'] = 123
my_dict['polo3'] = 4556

print(my_dict.popitem(last=False))
# ('polo1', 789)

值得注意的是,如果您可以接受,内置dict类型可以执行LIFO弹出但不能执行FIFO弹出,并且通常比OrderedDict大多数事情更快。


推荐阅读