У меня есть словарь, который использует 4-кортеж как ключ. Мне нужно найти все ключи в словаре, которые частично соответствуют какому-то другому кортежу. У меня есть код, который делает это, но он медленный и нуждается в оптимизации.
Вот после чего я:
Keys:
(1, 2, 3, 4)
(1, 3, 5, 2)
(2, 4, 8, 7)
(1, 4, 3, 4)
Match:
(1, None, 3, None)
Result:
[(1, 2, 3, 4), (1, 4, 3, 4)]
Текущий код:
def GetTuples(self, keyWords):
tuples = []
for k in self.chain.iterkeys():
match = True
for i in range(self.order):
if keyWords[i] is not None and keyWords[i] != k[i]:
match = False
break
if match is True:
tuples.append(k)
return tuples
Я в основном ищу либо оптимизацию этого метода, либо лучший способ хранения этих данных.
-121--1566430-
Известны ли вам альтернативы CKAN ? Я ищу метаданные, управляющие программным обеспечением портала с аналогичным набором функций, таким как CKAN.
Реализация предпочтительно должна быть LAMP или Java.