在Python中使用元组翻译字典

时间:2017-02-23 10:38:00

标签: python dictionary tuples

我在Python中有一个字典,里面有一个元组列表。 一个例子是:

peers = {'hash1': [('bot2', 1), ('bot1', 1)]}

我想做一个名为“update”的函数,它接受所有字典,如果在元组中有一个数字,则变为0,如果为0,则删除元组。

我实现的循环是:

def update(self):
        for key in self.peers.keys():
            for tup in self.peers[key]:
                print "--"
                print tup
                if 0 in tup:
                    self.peers[key].remove(tup)
                else:
                    newTup = (tup[0], 0)
                    self.peers[key].remove(tup)
                    self.peers[key].append(newTup);

如果我做两个“更新”,正确的行为应该是在第一次更新中我应该将元组设置为0,然后在下一个我应该有一个带有键'hash1'的空字典。但在实际行为中,我认为:

首次更新:

peers = {'hash1': [('bot1', 1)]}

(两个更新合二为什么?为什么?)

第二次更新:

peers = {'hash1': [('bot1', 0)]}

(哦!这个更新是正确的,但为什么不是第一个?)

有人可以帮我解决这个问题吗?我不知道为什么会有这种行为......我认为这个循环是正确的但是......

谢谢!

0 个答案:

没有答案