美文网首页
python 统计列表中相同key的字典

python 统计列表中相同key的字典

作者: HelloSunPing | 来源:发表于2021-11-02 18:09 被阅读0次
    def c_dict():
        """
        [
            {
                "type": "折扣",
                "word": "9折"
            },
            {
                "type": "折扣",
                "word": "满两件8折"
            },
            {
                "type": "折扣",
                "word": "满5件5折"
            },
            {
                "type": "买赠",
                "word": "买1增1"
            },
            {
                "type": "满减",
                "word": "满100减10"
            },
            {
                "type": "满减",
                "word": "满200减30"
            }
        ]
        转化成
        [
            {
                "type": "折扣",
                "words": [
                    "9折",
                    "满两件8折",
                    "满5件5折"
                ],
                "number": 3
            },
            {
                "type": "买赠",
                "words": [
                    "买1增1"
                ],
                "number": 1
            },
            {
                "type": "满减",
                "words": [
                    "满100减10",
                    "满200减30"
                ],
                "number": 2
            }
        ]
        """
        tmp_site_type = [
            {'type': '折扣', 'word': '9折'},
            {'type': '折扣', 'word': '满两件8折'},
            {'type': '折扣', 'word': '满5件5折'},
            {'type': '买赠', 'word': '买1增1'},
            {'type': '满减', 'word': '满100减10'},
            {'type': '满减', 'word': '满200减30'}
        ]
    
        tmp_dict = dict()
        for l in tmp_site_type:
            if l.get("type") in tmp_dict:
                i += 1
                tmp_dict[l.get("type")]["words"].append(l.get("word"))
                tmp_dict[l.get("type")]["count"] = i
            else:
                i = 1
                tmp = {"words": [l.get("word")]}
                tmp_dict[l.get("type")] = tmp
    
        tmp_list = list()
        for key, value in tmp_dict.items():
            tmp_list.append({
                'type': key,
                'words': value.get('words'),
                'number': len(value.get('words'))
            })
        import json
    
        print(json.dumps(tmp_site_type, indent=4, ensure_ascii=False))
        print(json.dumps(tmp_dict, indent=4, ensure_ascii=False))
        print(json.dumps(tmp_list, indent=4, ensure_ascii=False))
    

    参考:https://www.jianshu.com/p/70dac7574491

    相关文章

      网友评论

          本文标题:python 统计列表中相同key的字典

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