在 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 中从一个键迭代到另一个键的主要内容,如果未能解决你的问题,请参考以下文章