为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 我输入的是 value 同样也可以打印出来的 是key

d = {

    'Adam': 95,

    'Lisa': 85,

    'Bart': 59

}

for value in d:

    print value

  为什么我输入的是value 但是 同样打印出来的结果却是key呢??

正在回答

3 回答

对于dict,它的keys必须是唯一的也是可枚举的(enumerable),所有对于

for value in d:
    print value //打印出来的也就是它的keys

 比较深入的理解,是要认识__iter__这个特殊函数,对于dict d,iter(d) 返回的是d的一个iterator,你可以做以下的实验:

In [12]: d
Out[12]: {'Adam': 95, 'Bart': 59, 'Lisa': 85}

In [13]: i=iter(d)

In [14]: i.next()
Out[14]: 'Lisa'

In [15]: i.next()
Out[15]: 'Adam'

In [16]: i.next()
Out[16]: 'Bart'

在for循环里头,其实每次隐式的调用d的iterator,然后打印出当前iterator所指向的元素,再call next()移动iterator。

0 回复 有任何疑惑可以回复我~
#1

TheRedWolf 提问者

非常感谢!谢谢
2015-08-18 回复 有任何疑惑可以回复我~

for 后面的是变量名,名字可以随便起

0 回复 有任何疑惑可以回复我~

for k, v in d:

    print v

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758627    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么 我输入的是 value 同样也可以打印出来的 是key

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信