如何在Python3中将自动递增值分配给字典的(k,v)对组合?

我有一本以下格式的字典。我已确保键按排序顺序排列,这些键的值也是如此

{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}


天涯尽头无女友
浏览 111回答 2
2回答

一只斗牛犬

假设输入字典被称为d:from itertools import countls = [(k, n) for k, v in d.items() for n in v]result = dict(zip(ls, count(1)))

慕的地8271018

我想到这个来解决你的问题data = {67: ['226', '2470', '2517', '2578', '2799', '281', '2905', '3015', '3081', '347', '411'], 68: ['276', '331', '387', '442', '497', '607', '662']}cont = 1output_dict = {}for d in data:    for value_d in data[d]:        output_dict[(d, value_d)] = cont        cont += 1print(output_dict)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python