鉴于订购和键入的集合(如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或其他容器有关吗?
实际上,我的密钥是一个可排序的集合(日期),如果这意味着我可以使用更好的容器。
答案 0 :(得分:1)
您可以使用index
的{{1}}方法:
keys
这将返回
ix, value = d.keys().index('second'), d['second']
如果你不想重复自己,你可以将它作为一个函数,或者扩展(1, 'there')
以包含它作为一种方法:
OrderedDict