我編寫了一個腳本,用於計算訂單的送貨地址和特定商店連鎖店的每個商店位置之間的距離(英里)。到目前爲止,我已經創建了一個排序的字典列表(按order_id排序,然後再按距離排序)。它看起來像這樣:取出排序列表中特定鍵的前n個詞典
[
{
"order_id": 1,
"distance": 10,
"storeID": 1112
},
{
"order_id": 1,
"distance": 20,
"storeID": 1116
},
{
"order_id": 1,
"distance": 30,
"storeID": 1134
},
{
"order_id": 1,
"distance": 40,
"storeID": 1133
},
{
"order_id": 2,
"distance": 6,
"storeID": 1112
},
{
"order_id": 2,
"distance": 12,
"storeID": 1116
},
{
"order_id": 2,
"distance": 18,
"storeID": 1134
},
{
"order_id": 2,
"distance": 24,
"storeID": 1133
}
]
從這裏,我想找到最接近的兩個存儲每個order_id
,以及它們的距離。
什麼我最終想落得的是,像這樣的列表:
[
{
"order_id": 1,
"closet_store_distance": 10,
"closest_store_id": 1112,
"second_closet_store_distance": 20,
"second_closest_store_id": 1116
},
{
"order_id": 2,
"closet_store_distance": 6,
"closest_store_id": 1112,
"second_closet_store_distance": 12,
"second_closest_store_id": 1116
}
]
我不確定如何通過此列表中的每個ORDER_ID循環,並選擇最接近的兩個店。任何幫助表示讚賞。
謝謝@navidad。實際上,我有大約30,000個訂單需要循環使用。所以,這樣做: order1 = make_order(top1,1) order2 = make_order(top2,2) json.dump([order1,order2],result_file,indent = 3,separators =(',',': ')) 不會成立。我遇到麻煩的是弄清楚如何遍歷每個訂單。 對不起,如果我以前不清楚。我感謝您的幫助。 – sumojelly
@sumojelly你知道嗎? – Navidad20