Google App Engine Python - 按ListProperty中的密度排序

时间:2010-10-04 08:18:36

标签: python google-app-engine

是否可以返回按ListProperty中的密度匹配排序的db结果

例如,我的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返回1st,匹配a1,b1和b2

list_B返回第2,匹配b1和b2

list_A最后返回,匹配a1

提前致谢。

1 个答案:

答案 0 :(得分:4)

不,你不能在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)