循环字典,但也可以在Python中对其进行更新

def keysorting(self):
        eing = dict()  #my dic1
        tarnod = dict() #mydic2
        if self.has_cycle():
            raise Exception('There is a cycle!')
        else:
            for node in self.nodes():
                eing[node] = self.indeg(node)
            for node in self.nodes():
                tarnod[node] = self.target_nodes(node)

        for key,value in eing.items():
                if value == 0:
                    lst.append(key)
                    del eing[key]
                self.update(key,tarnod,eing)




   def update(self,key,eing):
        if key in tarnod.keys():
            for val in tarnod[key]:
                eing[val] -= 1
            del eing[key]
            return eing

最大的问题是我想遍历要更改的字典,因此,在大多数情况下,我的代码都会生成一条错误消息,告诉我字典的大小在迭代过程中已更改。我希望你们能帮助我

好的,这是我的问题,因为您的要求非常严格: 我的代码如何结构化,以便遍历dic1,然后对其进行更新,然后遍历更新的dic1,并对更新的dic执行相同的操作

不要忘记:没有不好的问题,只有不好的答案;-)

jsz0728 回答:循环字典,但也可以在Python中对其进行更新

  

我最大的问题是我想遍历要更改的字典,因此我的代码在大多数情况下会生成一条错误消息,告诉我字典的大小在迭代过程中已更改。

通常,解决方案是遍历您要更改的内容的副本,例如:

for key,value in list(eing.items()):

list(eing.items())会产生一个能够维持自己生活并且不会受到

影响的列表
del eing[key]
本文链接:https://www.f2er.com/3136121.html

大家都在问