如以下代码所示,为什么newlist打印出来后,medicine__name 里加了 '|' 。循环里只给id2order里的medicine__name进行了添加 '|' 赋值。
代码:
retlist=[{'id': 1, 'name': '华山医院订单001',' create_date': "2018-12-26T14:10:15.419Z",' customer_name': "华山医院",'medicines_name': "青霉素"}, {'id': 1, 'name': "华山医院订单001",' create_date': "2018-12-26T14:10:15.419Z",' customer_name': "华山医院",'medicines_name': "红霉素"}, {'id': 2, 'name': "华山医院订单002", ' create_date': "2018-12-26T14:11:15.419Z", ' customer_name': "华山医院",'medicines_name': "蓝霉素"}] newlist = [] id2order = {} for one in retlist: orderid=one['id'] if orderid not in id2order: newlist.append(one) id2order[orderid]=one else: id2order[orderid]['medicines_name'] =id2order[orderid]['medicines_name']+ ' | ' + one['medicines_name'] print(newlist)