python实现按照list中字典dict的某key合并去重并排序

python实现按照list中字典dict的某key合并去重并排序

在这里插入图片描述


list1 = [{"name": "zzz", "date": 202101, "age": 16, "gender": None},
         {"name": "zzz", "date": 202102, "age": 18, "gender": None}]
list2 = [{"name": "zzz", "date": 202101, "age": None, "gender": "man"},
         {"name": "zzz", "date": 202103, "age": None, "gender": "woman"},
         {"name": "zzz", "date": 202104, "age": None, "gender": "man"}]
# 列表合并
list3 = list1 + list2

# 以字典中的key:"date"去重,相同的去掉
list4 = []
values = []
for d in list3:
    # print(d)
    if d["date"] not in values:
        list4.append(d)
        values.append(d["date"])
# 将list2和list4中date相同的"gender"的值替换到list4中的"gender"
for i in list4:
    aaa = i["date"]
    for j in list2:
        bbb = j["date"]
        if aaa == bbb:
            i["gender"] = j["gender"]
# 按时间倒叙排序
list4 = sorted(list4, key=lambda keys: keys.get("date"), reverse=True)
print(list4)
# 结果
[{'name': 'zzz', 'date': 202104, 'age': None, 'gender': 'man'}, 
{'name': 'zzz', 'date': 202103, 'age': None, 'gender': 'woman'}, 
{'name': 'zzz', 'date': 202102, 'age': 18, 'gender': None}, 
{'name': 'zzz', 'date': 202101, 'age': 16, 'gender': 'man'}]

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值