Parece que as listas retornadas keys()
e os values()
métodos de um dicionário são sempre um mapeamento 1 para 1 (assumindo que o dicionário não seja alterado entre chamar os 2 métodos).
Por exemplo:
>>> 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
Se você não alterar o dicionário entre chamadas keys()
e chamadas values()
, é errado assumir que o loop for acima sempre imprimirá True? Não encontrei nenhuma documentação confirmando isso.