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

比如我定义了一个字典
shop = {'apple': 5,'orange': 3}
for kind in shop.keys():
print(kind)
但是我这样写
shop = {'apple': 5,'orange': 3}
for kind in shop:
print(kind)

白衣染霜花
浏览 135回答 2
2回答

温温酱

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

慕的地10843

在python2.2之前,只能用keys等字典方法来获取键(因为不允许直接迭代字典)。在那之后就可以直接迭代字典了,循环字典默认是key值。所以这两种方式都可以,是一样的。如果只需要值,可以使用d.values代替d.keys。获取键值对的话用这种方式for key, value in d.items():
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python