Найти - Пользователи
Полная версия: Извлеч масив ключей по значению из словаря (на базе bsddb)
Начало » Python для новичков » Извлеч масив ключей по значению из словаря (на базе bsddb)
1
agryn
Есть код:
import bsddb
dbpath = 'index.db'
db = bsddb.btopen(dbpath, 'c')
db = {'key1':'val1', 'key2':'val1', 'key3':'val2', 'key4':'val3'}
как из словаря db извлеч масив клюей
['key1', 'key2']
которым соответствует значение ‘val1’?
adray
[k for k in db if db[k] == 'val1']
agryn
А типа без обхода? Все таки bsddb - БД?
bw
Так же как в любой БД, завести соотв. индекс. РСУБД тоже всё подрят смотрят, если не существует индекса по рассматриваемым атрибутам.
# это псевдо-код, не стоит воспринимать буквально
index_by_val = {
    'val1': ['key1', 'key2'],
    'val2': ['key3'],
    'val3': ['key4']
}

p.s. Berkeley DB это низкоуровневая БД, если можно так выразиться. Эдакий ассемблер или Си в мире баз данных.

..bw
agryn
От, спасибо за разъяснение!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB