如何有效地从SortedDict获取密钥的索引和值?

时间:2016-06-27 12:25:01

标签: python sortedcontainers

鉴于订购和键入的集合(如OrderedDict或SortedContainers SortedDict),我想执行以下操作:

d['first'] = 'hi'
d['second'] = 'there'
d['third'] = 'world'
(ix, value) = d.get_index_and_value('second')
assert d.iloc[ix + 1] == 'third'
# or list(d.keys())[ix + 1] with OrderedDict

然而,我找不到一种有效的方法来获得索引和给定键的值((ix, value) = d.get_index_and_value('second'))。

这可能与SortedDict或其他容器有关吗?

实际上,我的密钥是一个可排序的集合(日期),如果这意味着我可以使用更好的容器。

1 个答案:

答案 0 :(得分:1)

您可以使用index的{​​{1}}方法:

keys

这将返回

ix, value = d.keys().index('second'), d['second']

如果你不想重复自己,你可以将它作为一个函数,或者扩展(1, 'there') 以包含它作为一种方法:

OrderedDict