我有一本以下格式的字典。我已確保鍵按排序順序排列,這些鍵的值也是如此{67: ['226', '2470', '2517', '2578', '2799', '281', '2905', '3015', '3081', '347', '411'], 68: ['276', '331', '387', '442', '497', '607', '662']}現在,我想為 ak,v 對的每個組合分配一個自動遞增整數。例子:{(67, 226):1, (67, 2470): 2 ... (68, 662):18}
2 回答

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
假設輸入字典被稱為d:
from itertools import count
ls = [(k, n) for k, v in d.items() for n in v]
result = dict(zip(ls, count(1)))

慕的地8271018
TA貢獻1796條經驗 獲得超4個贊
我想到這個來解決你的問題
data = {67: ['226', '2470', '2517', '2578', '2799', '281', '2905', '3015', '3081', '347', '411'], 68: ['276', '331', '387', '442', '497', '607', '662']}
cont = 1
output_dict = {}
for d in data:
for value_d in data[d]:
output_dict[(d, value_d)] = cont
cont += 1
print(output_dict)
添加回答
舉報
0/150
提交
取消