我正在搜索使用允许方法的字典的方法或库,例如:
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,但对我来说还不够清楚,所以 存在这样的东西吗?
答案 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+ 中