Google App Engine Python - сортировка по плотности в ListProperty - PullRequest
1 голос
/ 04 октября 2010

Возможно ли вернуть результат в дБ, который отсортирован по соответствию плотности в ListProperty

Например, у меня есть db.ListProperty(basestring) со значением ниже:

list_A = ['a1','a2','a3','a4','a5']
list_B = ['b1','b2','b3','b4','b5']
list_C = ['a1','a2','b1','b2','b3']

, давая to_be_match_list = ['a1','b1','b2']и вернуть результат в порядке совпадения плотности

list_C, возвращение 1-го, совпадение a1, b1 и b2

, list_B, возвращение 2-го, совпадение b1 и b2

list_A, возврат последнего, совпадение

Заранее спасибо.

1 Ответ

4 голосов
/ 04 октября 2010

Нет, вы не можете сделать это в BigTable (GQL).

Если вы получили все результаты и хотите отсортировать их, вы можете сделать что-то вроде этого:

some_lists = [list_A, list_B, list_C]
some_lists.sort(key=lambda x: len(set(to_be_match_list) & set(x)), reverse=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...