Если я правильно понял, в Python 2, iter(d.keys()) был таким же, как d.iterkeys(). Но теперь d.keys() - это представление, которое находится между списком и итератором. Какая разница между представлением и итератором?
Другими словами, в Python 3, какая разница между
for k in d.keys()
f(k)
и
for k in iter(d.keys())
f(k)
Также, как эти различия обнаруживаются в простом цикле for (если вообще)?