python – 将字典分成较小的字典

我有一本字典,想把它分成更小的字典,例如:

dic = {1:(2,6), 3:(4,5)}

我想循环它并在第一次迭代时使用“当前”字典current = {1:2,3:4},并在第二次迭代时使用当前{1:6,3:5}.这是我尝试过的(并且不起作用):

dic = {1:(2,6), 3:(4,5)}

for i in range (0,1):
    for key in dic:
        current = {}
        current[key] = dic[key][i]
    print (current)

这输出{3:4}和{3:5},它出于某种原因跳过键“1”.我该如何解决?

另外,假设每个键具有相同数量的值,我如何找到键的值的数量?例如对于{2:[3,4,5,7],3:[1,0,3,1]},这将是4.

最佳答案 您在每次迭代时覆盖当前值,在迭代之前定义它,并且范围(0,1)仅循环到[0]:

dic = {1:(2,6), 3:(4,5)}

for i in range(2):
    current = {}
    for key in dic:
        current[key] = dic[key][i]
    print(current)
点赞