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

既然两者输出结果没有区别,那为什么还要加.keys()?它的意义是什么?

既然两者输出结果没有区别,那为什么还要加.keys()?它的意义是什么?

白衣染霜花 2022-12-06 22:18:44
比如我定义了一个字典shop = {'apple': 5,'orange': 3}for kind in shop.keys():print(kind)但是我这样写shop = {'apple': 5,'orange': 3}for kind in shop:print(kind)
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

keys返回的是包含所有键的一个列表,而字典名本身代表字典这个对象。之所以for循环能直接作用于字典名上是因为字典类中实现了iter()方法,它会返回一个迭代器,这个迭代器能逐一返回字典中的每个键。

查看完整回答
反对 回复 2022-12-10
?
慕的地10843

TA贡献1785条经验 获得超8个赞

在python2.2之前,只能用keys等字典方法来获取键(因为不允许直接迭代字典)。
在那之后就可以直接迭代字典了,循环字典默认是key值。
所以这两种方式都可以,是一样的。
如果只需要值,可以使用d.values代替d.keys。
获取键值对的话用这种方式
for key, value in d.items():

查看完整回答
反对 回复 2022-12-10
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号