如何创建在不同键上具有不同数量值的字典?

how to create a dictionary having different number of values at different keys?

问题.1)我想创建一个字典,它由8个键组成,一些键有2个值,一些键有3个值。如何在 python.

中创建这种字典

我一直在尝试使用嵌套循环,但我的逻辑不起作用。

期望输出

dict_a = { 1:[0,1], 2:[2,3], 3:[4,5], 4:[6,7], 5:[8,9], 6:[10,11], 7:[12,13,14], 8:[15,16,17] }

问题.2 )如果我们成功创建了dict_a那么,在第二部分,我想合并dict_a的多个值dict_b,如下所示。

例如:-dict_b = { 1:[1,2], 2:[2,3]......} 中,这里 1:[1,2] 表示我想合并 [=54= 的第一个和第二个 'values' ] 字典,它会给我 [0, 1, 2, 3]。同样 2:[2,3] 会给我 [2,3,4,5]

dict_b = { 1:[1,2], 2:[2,3], 3:[3,4], 4:[4,5], 5:[5,6], 6:[6,7], 7:[7,8] }

我实际上成功地尝试了上述方法,但是对于 dict_a 中的两个键 7th8th ,我只想与前两个值合并,即当 dict_b 转到第 7 个键 7:[7,8],我希望结果是 [12,13,15,16] 而不是 [12,13,14,15,16,17].

但是我下面用的方法不可避免的会全部合并


dict_a = { 1:[0,1], 2:[2,3], 3:[4,5], 4:[6,7], 5:[8,9], 6:[10,11], 7:[12,13,14], 8:[15,16,17] }

dict_b = { 1:[1,2], 2:[2,3], 3:[3,4], 4:[4,5], 5:[5,6], 6:[6,7], 7:[7,8] }

a_list = []

for i in dict_b:
    tem = []
    a_list.append(tem)
    for j in dict_b[i]:
        tem.extend(dict_a[j])
    print(tem)        

期望的输出-

[0, 1, 2, 3]
[2, 3, 4, 5]
[4, 5, 6, 7]
[6, 7, 8, 9]
[8, 9, 10, 11]
[10, 11, 12, 13]
[12, 13, 15, 16]

如果您只想合并前 2 个值,请使用切片。

改变

tem.extend(dict_a[j])

tem.extend(dict_a[j][:2])