如何制作字典并通过fifo流程提供输出

时间:2019-06-06 20:05:15

标签: python dictionary fifo

我正在搜索使用允许方法的字典的方法或库,例如: 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}

我找到了此链接pythonic way for FIFO order in Dictionary,但对我来说还不够清楚,所以 存在这样的东西吗?

2 个答案:

答案 0 :(得分:3)

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类型can do LIFO popping but not FIFO popping,并且在大多数情况下通常比OrderedDict快。

答案 1 :(得分:0)

您可以使用内置的 dict 类型执行 dict FIFO pop,如下所示:

my_dict.pop(list(my_dict)[0])

使用 list(my_dict),您可以获得所有密钥

使用 list(my_dict)[0] 你会得到第一个

使用 my_dict.pop(list(my_dict)[0]) 获取第一个的密钥,并弹出它

在 Python 3.7+ 中