Схоже, що списки, повернені в списку, keys()і values()методи словника завжди є зіставленням 1 на 1 (якщо припустити, що словник не змінюється між викликом двох методів).
Наприклад:
>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
print d[k[i]] == v[i]
True
True
True
Якщо ви не змінюєте словник між дзвінками keys()та дзвінками values(), помилково вважати, що вищевказаний формат циклу завжди друкує True? Я не зміг знайти жодної документації, яка б це підтверджувала.