美文网首页
python 基本用法 数组字典根据value去重复

python 基本用法 数组字典根据value去重复

作者: 小乔与周瑜 | 来源:发表于2019-08-07 11:26 被阅读0次

    1.数组字典根据value去重复

    3.5版本

    from collections import OrderedDict

    a = [ {'name':'zhangsan', 'score': 20}, {'name':'lisi', 'score':25}, {'name':'zhangsan', 'score':30} ]

    b = OrderedDict()

    for item in a:

    b.setdefault(item['name'], {**item, 'freq':0})['freq'] += 1

    print(b.values())

    # odict_values([{'name': 'zhangsan', 'score': 20, 'freq': 2}, {'name': 'lisi', 'score': 25, 'freq': 1}])

    取最新的值加 update即可

    temp = b.setdefault(item['name'], {**item, 'freq': 0})

    temp.update(**item)

    temp['freq'] += 1

    注意 **item 这个语法糖是 3.5 以后的,以前版本写成 dict(item, freq=0)

    2版本

    from collections import OrderedDict

    def list_dict_duplicate_removal(list):

            b = OrderedDict()

            for item in contnet:

                b.setdefault(item['salesperson_uid'], dict(item, freq=0))['freq'] += 1

            return b.values()

    在python中,dict这个数据结构由于hash的特性,是无序的,这在有时候会给我们带来一些麻烦,幸运的是,

    collections模块为我们提供了OrderdDict,当你要获取一个有序的字典对象时,用它。

    collections 连接https://www.zlovezl.cn/articles/collections-in-python/

    相关文章

      网友评论

          本文标题:python 基本用法 数组字典根据value去重复

          本文链接:https://www.haomeiwen.com/subject/ihxodctx.html