Python:GTIN结果集(GQL,GAE)上的DISTINCT

发布于 2021-01-29 17:29:23

假设您在Google App Engine数据存储区中有一个实体,该实体存储匿名用户的链接。您想执行以下不支持的SQL查询:

SELECT DISTINCT user_hash FROM links

相反,您可以使用:

user = db.GqlQuery("SELECT user_hash FROM links")

如何 最有效 地使用Python过滤结果,从而返回DISTINCT结果集?如何计算DISTINCT结果集?

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    设置是处理此问题的好方法:

    >>> a = ['google.com', 'livejournal.com', 'livejournal.com', 'google.com', 'stackoverflow.com']
    >>> b = set(a)
    >>> b
    set(['livejournal.com', 'google.com', 'stackoverflow.com'])
    >>>
    

    一个建议w / r /
    t第一个答案是,集和字典更适合快速检索唯一结果,列表中的成员资格为O(n)与其他类型的O(1),因此如果要存储其他数据,或执行类似创建上述unique_results列表的操作,最好执行以下操作:

    unique_results = {}
    >>> for item in a:
        unique_results[item] = ''
    
    
    >>> unique_results
    {'livejournal.com': '', 'google.com': '', 'stackoverflow.com': ''}
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看