python中的keys()函数有什么作用?

比如我定义了一个字典
shop = {'apple': 5,'orange': 3}
for kind in shop.keys():
print(kind)
但是我这样写
shop = {'apple': 5,'orange': 3}
for kind in shop:
print(kind)
两者输出结果没有区别,那为什么还要加.keys()?它的意义是什么?

keys返回的是包含所有键的一个列表,而字典名本身代表字典这个对象。之所以for循环能直接作用于字典名上是因为字典类中实现了iter()方法,它会返回一个迭代器,这个迭代器能逐一返回字典中的每个键。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-29
在python2.2之前,只能用keys等字典方法来获取键(因为不允许直接迭代字典)。
在那之后就可以直接迭代字典了,循环字典默认是key值。
所以这两种方式都可以,是一样的。
如果只需要值,可以使用d.values代替d.keys。
获取键值对的话用这种方式
for key, value in d.items():本回答被提问者采纳
相似回答