在Python 2.7中,词典同时具有iterkeys方法和viewkeys方法(以及相似的值和项对),并提供了两种不同的方法来延迟迭代字典的键。该viewkeys方法提供的主要特征iterkeys,iter(d.viewkeys())实际上等效于d.iterkeys()。此外,返回的对象viewkeys具有方便的类似于集合的功能。因此,有充分的理由看好viewkeys了iterkeys。
iterkeys
viewkeys
iter(d.viewkeys())
d.iterkeys()
那另一个方向呢?除了与早期版本的Python兼容之外,还有什么方法比iterkeys更好viewkeys?总是使用会丢失任何东西viewkeys吗?
不,iterkeysover毫无优势viewkeys,就像它们都没有优势keys一样。iterkeys仅是为了向后兼容。的确,在Python 3中,这viewkeys是唯一仍然存在的行为,并且已将其重命名为keys-该viewkeys方法实际上是Python 3行为的反向移植。
keys