python - 如何做一个字典,用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 方式, 但对我来说还不够清楚,所以存在类似的东西吗?
解决方案
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
大多数事情更快。
推荐阅读
- math - JS - 使用 toFixed 转换并返回不相同的数字
- c++ - _Not_fn 函数调用运算符的 noexcept 说明符
- swift - 一个谜题:弱引用在 Swift 4 中不起作用?
- php - 成功加入购物车后获取 WooCommerce 产品 ID
- php - 使用 ORM 但没有 Symfony 的 Doctrine 2 迁移
- android - Android - Oauth2 的 Google 登录问题
- java - 使用泛型使用 objectMapper.readValue 将 Json 转换为 Class
- oracle - Ubuntu Oracle Instant Client tnsnames.ora
- alsa - 更改 /proc/asound/cards 名称
- html - 井字游戏板未显示在网页上