在 OrderedDict 中从一个键迭代到另一个键

Posted

技术标签:

【中文标题】在 OrderedDict 中从一个键迭代到另一个键【英文标题】:Iterate from one key to another in an OrderedDict 【发布时间】:2022-01-18 16:27:31 【问题描述】:

我有一个OrderedDict,我有两个键。我知道一个键存储在另一个键之前,我想迭代第一个键到第二个键之间的所有项目。

我不想遍历整个地图,因为它很大。只有我拥有的两个键之间的项目。我该怎么做?

【问题讨论】:

这能回答你的问题吗? How can you slice with string keys instead of integers on a python OrderedDict? @Vishnudev:遍历整个字典以查找密钥。 另外,它只适用于 Python 2。 我认为这是不可能的。有关在有序 dict 中查找索引的相应讨论要求您至少迭代 dict 一次,请参见例如***.com/a/60841291/9501624 【参考方案1】:

您可以使用 pandas Series 代替 dict。 pandas 是一个巨大的依赖。

>>> import pandas as pd
>>> d = 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5
>>> s = pd.Series(d)
>>> s['b':'d']
b    2
c    3
d    4
dtype: int64
>>> s['b':'d'].to_dict()
'b': 2, 'c': 3, 'd': 4

(Demo 使用常规 dict,因为它们从 Python 3.7 开始根据键插入进行排序。)

【讨论】:

这会读取整个字典来构建 DataFrame。该问题的目标是找到一种方法来遍历整个字典。

以上是关于在 OrderedDict 中从一个键迭代到另一个键的主要内容,如果未能解决你的问题,请参考以下文章

OrderedDict如何在Python中保持秩序

切片 Python OrderedDict

在 Laravel 6 中从外键获取数据

从 OrderedDict 中删除键和值

如何在ios中从一个视图导航到另一个视图?

如何通过单击按钮在 Swift UI 中从一个视图导航到另一个视图