{"id":50490,"date":"2024-12-03T12:52:21","date_gmt":"2024-12-03T04:52:21","guid":{"rendered":"https:\/\/fwq.ai\/blog\/50490\/"},"modified":"2024-12-03T12:52:21","modified_gmt":"2024-12-03T04:52:21","slug":"%e5%a6%82%e4%bd%95%e5%90%88%e5%b9%b6%e7%9b%b8%e5%90%8c%e8%ae%a2%e5%8d%95%e7%bc%96%e5%8f%b7%e7%9a%84%e5%ad%97%e5%85%b8%ef%bc%8c%e5%b9%b6%e6%8c%89%e7%89%a9%e6%b5%81%e5%8d%95%e5%8f%b7%e5%88%86%e7%bb%84","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/50490\/","title":{"rendered":"\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f"},"content":{"rendered":"<p><b><\/b>     <\/p>\n<h1>\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f<\/h1>\n<p>\u6765\u5230\u7c73\u4e91\u7684\u5927\u5bb6\uff0c\u76f8\u4fe1\u90fd\u662f\u7f16\u7a0b\u5b66\u4e60\u7231\u597d\u8005\uff0c\u5e0c\u671b\u5728\u8fd9\u91cc\u5b66\u4e60\u6587\u7ae0\u76f8\u5173\u7f16\u7a0b\u77e5\u8bc6\u3002\u4e0b\u9762\u672c\u7bc7\u6587\u7ae0\u5c31\u6765\u5e26\u5927\u5bb6\u804a\u804a\u300a\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f\u300b\uff0c\u4ecb\u7ecd\u4e00\u4e0b\uff0c\u5e0c\u671b\u5bf9\u5927\u5bb6\u7684\u77e5\u8bc6\u79ef\u7d2f\u6709\u6240\u5e2e\u52a9\uff0c\u52a9\u529b\u5b9e\u6218\u5f00\u53d1\uff01<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.17golang.com\/uploads\/20241121\/1732148475673e7cfbcfd27.jpg\" class=\"aligncenter\" title=\"\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f\u63d2\u56fe\" alt=\"\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f\u63d2\u56fe\" \/><\/p>\n<p><strong>\u5408\u5e76\u5217\u8868\u4e2d\u76f8\u540c\u952e\u5b57\u5178\u751f\u6210\u65b0\u5217\u8868<\/strong><\/p>\n<p><strong>\u95ee\u9898\uff1a<\/strong><\/p>\n<p>\u4f60\u6709\u8bb8\u591a\u5b57\u5178\u7ec4\u6210\u7684\u4e00\u4e2a\u5217\u8868\uff0c\u9700\u8981\u5c06\u76f8\u540c\u952e\u7684\u5b57\u5178\u5408\u5e76\u5230\u4e00\u4e2a\u65b0\u7684\u5217\u8868\u4e2d\u3002\u8fd9\u4e9b\u5b57\u5178\u8868\u793a\u8ba2\u5355\u53ca\u5176\u5546\u54c1\u7684\u8be6\u7ec6\u4fe1\u606f\u3002\u4f60\u5e0c\u671b\u5c06\u5177\u6709\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u8ba2\u5355\u5206\u7ec4\uff0c\u7136\u540e\u6839\u636e\u6bcf\u4e2a\u8ba2\u5355\u7684\u7269\u6d41\u5355\u53f7\u5c06\u5546\u54c1\u5206\u7ec4\u3002<\/p>\n<p>\u5177\u4f53\u6765\u8bf4\uff0c\u7ed9\u5b9a\u5217\u8868\uff1a<\/p>\n<pre>data = [\n    {'\u552e\u540e\u7f16\u53f7': '123', '\u8ba2\u5355\u7f16\u53f7': '1234', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1a', '\u9000\u6b3e\u6570\u91cf': 1, '\u5356\u5bb6\u5907\u6ce8': '', '\u7269\u6d41\u5355\u53f7': '789789',\n     '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''},\n    {'\u552e\u540e\u7f16\u53f7': '212', '\u8ba2\u5355\u7f16\u53f7': '1234', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1b', '\u9000\u6b3e\u6570\u91cf': 1, '\u5356\u5bb6\u5907\u6ce8': '', '\u7269\u6d41\u5355\u53f7': '789789',\n     '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''},\n    {'\u552e\u540e\u7f16\u53f7': '321', '\u8ba2\u5355\u7f16\u53f7': '1234', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1c', '\u9000\u6b3e\u6570\u91cf': 1, '\u5356\u5bb6\u5907\u6ce8': '', '\u7269\u6d41\u5355\u53f7': '987987',\n     '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''},\n    {'\u552e\u540e\u7f16\u53f7': '578', '\u8ba2\u5355\u7f16\u53f7': '4321', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1d', '\u9000\u6b3e\u6570\u91cf': 1, '\u5356\u5bb6\u5907\u6ce8': '', '\u7269\u6d41\u5355\u53f7': '897897',\n     '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''}\n]<\/pre>\n<p>\u4f60\u5e0c\u671b\u5f97\u5230\u7684\u7ed3\u679c\u5982\u4e0b\uff1a<\/p>\n<pre>result = [\n    {'\u8ba2\u5355\u7f16\u53f7': '1234', '\u5356\u5bb6\u5907\u6ce8': '',\n     '789789': [{'\u552e\u540e\u7f16\u53f7': '123', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1a', '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''},\n                {'\u552e\u540e\u7f16\u53f7': '212', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1b', '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''}],\n     '987987': [{'\u552e\u540e\u7f16\u53f7': '321', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1c', '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''}]\n\n     },\n    {'\u8ba2\u5355\u7f16\u53f7': '4321', '\u5356\u5bb6\u5907\u6ce8': '',\n     '897897': [{'\u552e\u540e\u7f16\u53f7': '578', '\u5546\u5bb6\u7f16\u7801': '\u5546\u54c1d', '\u8d85\u65f6\u65f6\u95f4': '', '\u9000\u6b3e\u7c7b\u578b': '', '\u9000\u6b3e\u91d1\u989d': ''}]\n     }\n]<\/pre>\n<p><strong>\u89e3\u51b3\u65b9\u6848\uff1a<\/strong><\/p>\n<p>\u8981\u5b9e\u73b0\u6b64\u5408\u5e76\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u6b65\u9aa4\uff1a<\/p>\n<ol>\n<li>\u521b\u5efa\u4e00\u4e2a\u7a7a\u7684\u5b57\u5178 orders_info\uff0c\u5b83\u5c06\u5b58\u50a8\u6309\u8ba2\u5355\u7f16\u53f7\u5206\u7ec4\u7684\u5b57\u5178\u5217\u8868\u3002<\/li>\n<li>\u904d\u5386 data \u4e2d\u7684\u6bcf\u4e2a\u5b57\u5178\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 orders_info \u4e2d\u3002\u5982\u679c\u8ba2\u5355\u7f16\u53f7\u5df2\u5728 orders_info \u4e2d\uff0c\u5219\u5c06\u5b57\u5178\u6dfb\u52a0\u5230\u73b0\u6709\u5217\u8868\u4e2d\u3002\u5426\u5219\uff0c\u521b\u5efa\u65b0\u5217\u8868\u5e76\u5c06\u5176\u6dfb\u52a0\u5230\u5b57\u5178\u4e2d\u3002<\/li>\n<li>\n<p>\u8c03\u7528 gen_result \u51fd\u6570\uff0c\u5b83\u5c06 orders_info \u8f6c\u6362\u4e3a\u6240\u9700\u7684\u7ed3\u679c\u683c\u5f0f\u3002\u8be5\u51fd\u6570\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff1a<\/p>\n<ul>\n<li>\u904d\u5386 orders_info \u4e2d\u7684\u6bcf\u4e2a\u8ba2\u5355\u3002<\/li>\n<li>\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u5b57\u5178 r\uff0c\u5b83\u5c06\u5b58\u50a8\u8ba2\u5355\u7684\u8be6\u7ec6\u4fe1\u606f\u548c\u7269\u6d41\u5355\u53f7\u7ec4\u6210\u7684\u5546\u54c1\u5217\u8868\u3002<\/li>\n<li>\u904d\u5386\u6bcf\u4e2a\u8ba2\u5355\u4e2d\u7684\u5546\u54c1\uff0c\u5e76\u5c06\u5176\u6dfb\u52a0\u5230 r \u4e2d\u3002\u5982\u679c\u7269\u6d41\u5355\u53f7\u5df2\u5728 r \u4e2d\uff0c\u5219\u5c06\u5546\u54c1\u6dfb\u52a0\u5230\u73b0\u6709\u5217\u8868\u4e2d\u3002\u5426\u5219\uff0c\u521b\u5efa\u65b0\u5217\u8868\u5e76\u5c06\u5176\u6dfb\u52a0\u5230\u5b57\u5178\u4e2d\u3002<\/li>\n<\/ul>\n<\/li>\n<li>\u8fd4\u56de\u5408\u5e76\u540e\u7684 result \u5217\u8868\u3002<\/li>\n<\/ol>\n<p>\u4ee5\u4e0b\u4ee3\u7801\u5b9e\u73b0\u4e86\u8fd9\u4e9b\u6b65\u9aa4\uff1a<\/p>\n<pre>def group_by_order(data: list) -&gt; dict:\n    orders_info = dict()\n    for d in data:\n        order_id = d['\u8ba2\u5355\u7f16\u53f7']\n        if order_id not in orders_info:\n            orders_info[order_id] = list()\n        orders_info[order_id].append(d)\n    return orders_info\n\n\ndef gen_result(orders_info: dict) -&gt; list:\n    result = []\n    for oi in orders_info:\n        os = orders_info[oi]\n        r = dict()\n        for i, o in enumerate(os):\n            if i == 0:\n                r['\u8ba2\u5355\u7f16\u53f7'] = o['\u8ba2\u5355\u7f16\u53f7']\n            sno = o['\u7269\u6d41\u5355\u53f7']\n            if sno not in r:\n                r[sno] = list()\n            r[sno].append({'\u552e\u540e\u7f16\u53f7': o['\u552e\u540e\u7f16\u53f7']})\n        result.append(r)\n    return result\n\n\ndef main():\n    print(gen_result(group_by_order(data)))\n\n\nif __name__ == '__main__':\n    main()<\/pre>\n<p>\u4ee5\u4e0a\u5c31\u662f\u300a\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f\u300b\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u5173\u4e8e\u7684\u8d44\u6599\u8bf7\u5173\u6ce8\u7c73\u4e91\u516c\u4f17\u53f7\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f \u6765\u5230\u7c73\u4e91\u7684\u5927\u5bb6\uff0c\u76f8\u4fe1\u90fd\u662f\u7f16\u7a0b\u5b66\u4e60\u7231\u597d\u8005\uff0c\u5e0c\u671b\u5728\u8fd9\u91cc\u5b66\u4e60\u6587\u7ae0\u76f8\u5173\u7f16\u7a0b\u77e5\u8bc6\u3002\u4e0b\u9762\u672c\u7bc7\u6587\u7ae0\u5c31\u6765\u5e26\u5927\u5bb6\u804a\u804a\u300a\u5982\u4f55\u5408\u5e76\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u5b57\u5178\uff0c\u5e76\u6309\u7269\u6d41\u5355\u53f7\u5206\u7ec4\u5546\u54c1\u4fe1\u606f\uff1f\u300b\uff0c\u4ecb\u7ecd\u4e00\u4e0b\uff0c\u5e0c\u671b\u5bf9\u5927\u5bb6\u7684\u77e5\u8bc6\u79ef\u7d2f\u6709\u6240\u5e2e\u52a9\uff0c\u52a9\u529b\u5b9e\u6218\u5f00\u53d1\uff01 \u5408\u5e76\u5217\u8868\u4e2d\u76f8\u540c\u952e\u5b57\u5178\u751f\u6210\u65b0\u5217\u8868 \u95ee\u9898\uff1a \u4f60\u6709\u8bb8\u591a\u5b57\u5178\u7ec4\u6210\u7684\u4e00\u4e2a\u5217\u8868\uff0c\u9700\u8981\u5c06\u76f8\u540c\u952e\u7684\u5b57\u5178\u5408\u5e76\u5230\u4e00\u4e2a\u65b0\u7684\u5217\u8868\u4e2d\u3002\u8fd9\u4e9b\u5b57\u5178\u8868\u793a\u8ba2\u5355\u53ca\u5176\u5546\u54c1\u7684\u8be6\u7ec6\u4fe1\u606f\u3002\u4f60\u5e0c\u671b\u5c06\u5177\u6709\u76f8\u540c\u8ba2\u5355\u7f16\u53f7\u7684\u8ba2\u5355\u5206\u7ec4\uff0c\u7136\u540e\u6839\u636e\u6bcf\u4e2a\u8ba2\u5355\u7684\u7269\u6d41\u5355\u53f7\u5c06\u5546\u54c1\u5206\u7ec4\u3002 \u5177\u4f53\u6765\u8bf4\uff0c\u7ed9\u5b9a\u5217\u8868\uff1a data = [ {&#8216;\u552e\u540e\u7f16\u53f7&#8217;: &#8216;123&#8217;, &#8216;\u8ba2\u5355\u7f16\u53f7&#8217;: &#8216;1234&#8217;, &#8216;\u5546\u5bb6\u7f16\u7801&#8217;: &#8216;\u5546\u54c1a&#8217;, &#8216;\u9000\u6b3e\u6570\u91cf&#8217;: 1, &#8216;\u5356\u5bb6\u5907\u6ce8&#8217;: &#8221;, &#8216;\u7269\u6d41\u5355\u53f7&#8217;: &#8216;789789&#8217;, &#8216;\u8d85\u65f6\u65f6\u95f4&#8217;: &#8221;, &#8216;\u9000\u6b3e\u7c7b\u578b&#8217;: &#8221;, &#8216;\u9000\u6b3e\u91d1\u989d&#8217;: &#8221;}, {&#8216;\u552e\u540e\u7f16\u53f7&#8217;: &#8216;212&#8217;, &#8216;\u8ba2\u5355\u7f16\u53f7&#8217;: &#8216;1234&#8217;, &#8216;\u5546\u5bb6\u7f16\u7801&#8217;: &#8216;\u5546\u54c1b&#8217;, &#8216;\u9000\u6b3e\u6570\u91cf&#8217;: 1, &#8216;\u5356\u5bb6\u5907\u6ce8&#8217;: &#8221;, &#8216;\u7269\u6d41\u5355\u53f7&#8217;: &#8216;789789&#8217;, &#8216;\u8d85\u65f6\u65f6\u95f4&#8217;: &#8221;, &#8216;\u9000\u6b3e\u7c7b\u578b&#8217;: &#8221;, &#8216;\u9000\u6b3e\u91d1\u989d&#8217;: &#8221;}, {&#8216;\u552e\u540e\u7f16\u53f7&#8217;: &#8216;321&#8217;, &#8216;\u8ba2\u5355\u7f16\u53f7&#8217;: &#8216;1234&#8217;, &#8216;\u5546\u5bb6\u7f16\u7801&#8217;: &#8216;\u5546\u54c1c&#8217;, &#8216;\u9000\u6b3e\u6570\u91cf&#8217;: 1, &#8216;\u5356\u5bb6\u5907\u6ce8&#8217;: &#8221;, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-50490","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/50490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=50490"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/50490\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=50490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=50490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=50490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}