Форум сайта python.su
0
Есть код:
import bsddb dbpath = 'index.db' db = bsddb.btopen(dbpath, 'c') db = {'key1':'val1', 'key2':'val1', 'key3':'val2', 'key4':'val3'}
['key1', 'key2']
Отредактировано agryn (Окт. 26, 2012 23:49:23)
Офлайн
18
[k for k in db if db[k] == 'val1']
Офлайн
0
А типа без обхода? Все таки bsddb - БД?
Отредактировано agryn (Окт. 27, 2012 00:04:27)
Офлайн
20
Так же как в любой БД, завести соотв. индекс. РСУБД тоже всё подрят смотрят, если не существует индекса по рассматриваемым атрибутам.
# это псевдо-код, не стоит воспринимать буквально index_by_val = { 'val1': ['key1', 'key2'], 'val2': ['key3'], 'val3': ['key4'] }
Отредактировано bw (Окт. 27, 2012 08:01:38)
Офлайн
0
От, спасибо за разъяснение!
Офлайн