python 字典转换,并排序

发布于 2022-09-01 23:48:47 字数 587 浏览 28 评论 0

d = [
    {'id':1,'title':'1111','cate':'A','cateid':"1",'rank':"2"},
    {'id':2,'title':'2222','cate':'A','cateid':"1",'rank':"4"},
    {'id':3,'title':'3333','cate':'A','cateid':"1",'rank':"1"},
    {'id':4,'title':'4444','cate':'B','cateid':"2",'rank':"3"},
]

转换成d2,并根据cateid排序,结果要如下

d2 = [
    {'article_list':[{'id':1,'title':'1111'},{'id':2,'title':'2222'},{'id':3,'title':'3333'}],
    'cateid':"1",
    'cate':'A',
    },

    {'article_list':[{'id':4,'title':'4444'}],
    'cateid':"2",
    'cate':'B',
    },
]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

转角预定愛 2022-09-08 23:48:47
from itertools import groupby
key = lambda x: (x['cateid'], x['cate'])
d2 = [{'cateid': k[0], 'cate': k[1],
       'article_list': [{'id': x['id'], 'title': x['title']} for x in g]}
      for k, g in groupby(sorted(d, key=key), key=key)]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文