它只看第一个值

2024-09-30 16:21:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中有一个简单的字典,我想遍历所有条目以打印键和值:

 myDictionary = {"0" :0, "1":0, "2":0, "3":0, "4":0, "5":0, "6":12, "7":0,"8":0,"9":0,"10":0,"11":0, "12":0,"13":12}


 def count(self, myDictionary):
     for k, v in myDictionary.items():
         print k,v 

Python认为myDictionary是:

^{pr2}$

当键和值打印出来时,只有11 0打印出来。我也尝试过iteritems()。为什么只打印字典中的第一个元素?如果有区别的话,我有python2.3。


Tags: inself元素for字典defcount条目
1条回答
网友
1楼 · 发布于 2024-09-30 16:21:24

我假设(基于注释),这段代码不属于dictionary类,而是一个方法,因此我删除了self(它用于调用类本身内的其他变量或方法),并看到以下代码返回了您想要的结果(运行python 2.7.3):

>>>def count(myDictionary):
        for k,v in myDictionary.items():
            print k,v
>>>count(myDictionary)
11 0
10 0
13 12
12 0
1 0
0 0
3 0
2 0
5 0
4 0
7 0
6 12
9 0
8 0
>>> 

这支持在只使用一个字典(myDictionary)调用方法时更新到2.7x并删除self,否则它将需要两个参数。在

如果您需要将数据存储在一个确实可以实现的类结构中,但我只建议对于比您发布的更复杂的数据结构,例如键控字典,其中每个键都有多个属性,您需要分别调用这些属性。例如:

dictionary = {v1: 0, 8, 9, v2: 9,6,3}

其中v1,和v2表示具有x、y和z方向的三维向量,您不需要循环所有数据就可以单独调用这些向量。在

相关问题 更多 >