list中的字典去重


list中的字典: 格式

list_dict = [{"a": "123", "b": "321"}, {"a": "1223", "b": "321"}, {"b": "321", "a": "123"}]

 

如上,list_dict中有三个字典,但是是重复的,这里需要去重,保留一个不重复的dict即可

def list_dict_duplicate_removal(list_dict):
    """list中dict重复的话,去重"""
    run_function = lambda x, y: x if y in x else x + [y]
    return reduce(run_function, [[], ] + list_dict)


all_test_data = list_dict_duplicate_removal(test_data)
print(f"去重,拿到所有商品信息,总数为:{len(list_dict)}")

输出如下内容:

 

带条件去重

def list_dict_duplicate_removal(list_dict):
    """list中dict重复的话,去重"""
    run_function = lambda x, y: x if dict(list(y.items())[:-1]) in [dict(list(a.items())[:-1]) for a in x] else x + [y]
    return reduce(run_function, [[], ] + list_dict)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。