通过dict键重复两次

时间:2019-07-16 13:50:34

标签: python dictionary python-3.6

我试图在一次操作中遍历dict两次,并得到一些意想不到的结果。我想做的是,

>>> temp = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> for k in temp.keys():
        print([i for i in temp.keys() if i != k])

['a', 'b', 'c']
['a', 'b', 'c']
['a', 'b', 'c']
['a', 'b', 'c']

我期望的是,

['b', 'c', 'd']
['a', 'c', 'd']
['a', 'b', 'd']
['a', 'b', 'c']

事实上,当我执行以下操作时,我发现当不在列表理解步骤中时,循环似乎工作正常

>>> for k in temp.keys():
        print([i for i in temp.keys()], ' ', k)
['a', 'b', 'c', 'd']   a
['a', 'b', 'c', 'd']   b
['a', 'b', 'c', 'd']   c
['a', 'b', 'c', 'd']   d

我尝试使用deepcopy的{​​{1}}进行相同的代码,但是得到了相同的结果,因此即使迭代两个temp似乎也可以实现这种行为。任何帮助将不胜感激。

0 个答案:

没有答案