Dictionary Keyerror 1和字典大小在迭代过程中发生更改

Dictionary Keyerror 1和字典大小在迭代过程中发生更改,dictionary,iteration,size,keyerror,Dictionary,Iteration,Size,Keyerror,问题:在下面的编辑器中完成不可分割子集函数。它应该返回一个整数,表示满足条件的最长子集的长度 不可分割子集具有以下参数: 一个整数数组 k:一个整数 def nonDivisibleSubset(k, s): # Write your code here modulo = {} for i in range(len(s)): rem = s[i] % k if rem in modulo:

问题:在下面的编辑器中完成不可分割子集函数。它应该返回一个整数,表示满足条件的最长子集的长度

不可分割子集具有以下参数:

一个整数数组 k:一个整数

 def nonDivisibleSubset(k, s):
        # Write your code here
        modulo = {}
        for i in range(len(s)):
            rem = s[i] % k
            if rem in modulo:
                modulo[rem] += 1
            else:
                modulo[rem] = 1
        count = 0
    
        track = modulo
    
        for key in modulo:
            pair = k - 1 - key
            if (k - 1 - key) in modulo and (k - 1 - key) in track and key in track:
                if modulo[key] > modulo[pair]:
                    count += modulo[key]
                else:
                    count += modulo[pair]
    
            else:
                count += modulo[key]
                track.pop(key)
                continue
    
            track.pop(key)
            track.pop(pair)
    
        return count    
错误:

  • 关键错误:1
  • 2.RuntimeError:在迭代期间字典大小已更改

    我如何解决这个问题? 我哪里出错了