我正在写一些代码,要求我获取密钥的下界(为了简单起见,忽略位于集合中最小密钥下方的密钥)。在C++中,使用std :: map(作为最可比较的数据类型),我只是简单地使用lower_bound()来返回迭代器。map :: lower_bound()等价于python的dict类吗?
我Pythonfoo不是很大,但我猜测,(如果Python中还没有这样做的一种方式),这将是一个良好的使用lambda函数的...
是什么为给定索引检索下界键的Pythonic方法?
如果问题是过于抽象,这是我真正想要做的事:
我有一个Python字典按日期索引。我希望能够使用日期来查找字典,并返回与指定键的下边相关联的值。
摘录如下:
mymap = { datetime.date(2007, 1, 5): 'foo',
datetime.date(2007, 1, 10): 'foofoo',
datetime.date(2007, 2, 2): 'foobar',
datetime.date(2007, 2, 7): 'foobarbar' }
mydate = datetime.date(2007, 1, 7)
# fetch lbound key for mydate from mymap
def mymap_lbound_key(orig):
pass # return the lbound for the key
我真的不希望遍历键,寻找第一个关键< =提供关键的,除非有没有更好的选择......