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

这里的keys():为啥用小括号而不是中括号

这里的keys():为啥用小括号而不是中括号

慕仰3175336 2016-05-08 10:57:53
d = {    'Adam': 95,    'Lisa': 85,    'Bart': 59}for x in d.keys():    print x,':',d[x]
查看完整描述

3 回答

已采纳
?
清波

TA贡献165条经验 获得超90个赞

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

## 解释, 先定义一个字典 d, 然后我们看一下 d.keys() 是什么东西。
prinit d.keys()
['Lisa', 'Adam', 'Bart']

## 解释,由此看出, d.key() 是这个字典 d 所有的key 组成的列表(注意,字典是无序的,所以取出的列表在不同
## 的系统中有所不同)。

## 那么下面的for 循环其实不难理解了。

在代码格式外面,回答下 题主的疑问吧, d.keys() 为什么不用 中括号?

是这样的, 现在各种高级语言的基本语法, 除了 语言本身自带的 内置函数 以外, 基本格式如下:

object.meths (),   对象.方法().  

在这里, 字典d 就是这个object, 而keys() 也就是我们要调用的方法。

通俗来说就是, 字典对象d, 有个 keys() 方法,可以返回,由其 值组成的列表(Python 3.x 的返回有所变化)。


所以, 这个圆括号 就是这么个意思。

查看完整回答
3 反对 回复 2016-05-08
  • 慕仰3175336
    慕仰3175336
    大神,那python里有没有value()这个调用方法,我试验里你的东西,发现print d .value()这条语句没法得出数字这个结果
  • 清波
    清波
    很好 举一反三嘛。。 根据 d.keys() 而不是 d.key(), 你在想想 value 应该怎么做?
?
在山的那边海的那边

TA贡献24条经验 获得超9个赞

如果要遍历d 这个对象的话,可以用for in 

for x in d  或者 for x  in d.key();  两者实现效果相同  

查看完整回答
反对 回复 2016-05-08
  • 慕仰3175336
    慕仰3175336
    'dict' object has no attribute 'value' 这句话的意思是啥呀,大神
  • 慕仰3175336
    慕仰3175336
    我使用print d .value() 这条语句没法输出数字这个答案 输出'dict' object has no attribute 'value' 这个错误的提示,这是为啥
?
谁占用blog这个昵称

TA贡献1条经验 获得超0个赞

你的目的是不是历遍d,

d= {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for x in d:
    print x + ':', d[x]

这样就行了,解释:for每次从d取出keys赋给x,而d[x],是很根据取出的keys找出对应的value

查看完整回答
反对 回复 2016-05-08
  • 3 回答
  • 0 关注
  • 1749 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信