Buenas! No conozco mucho este leguaje, pero me parece que no existen los objetos tal cual como en javascript en Python,
{
1: 'gato',
2: 'perro',
3:'otro'
}
Pero si existe la posibilidad de hacer arrays bidireccionales, así que, simplemente puedes obtener la longitud del la lista ['gato', 'perro', 'otro'], y hacer un bucle for de cuyo rango de longitud que te dio. Y en cada iteración modificar el elemento del indice actual por un array que contenga el numero en sí y el valor.
Primero obtenemos la longitud de la lista, imaginando que la variable 'lista' contiene el array
lenList=len(lista)
A continuación hacemos un bucle con el rango de la longitud
for i in range(len(lista)):
lista[i] = [i,lista[i]]
Y dentro le modificamos el elemento del array cuyo indice es de la iteración actual, no se, sí me explico bien.
Y si hicieramos un echo lista, veriamos que se creo un array bidireccional
Te dejo un ejemplo y su salida:
lista = ["gato","perro","otro"];
def ordenarValores(list):
for i in range(len(lista)):
lista[i] = [i,lista[i]]
print(lista)
ordenarValores(lista)
print(lista[0][1])
Salida
[[0, 'gato'], [1, 'perro'], [2, 'otro']]
gato
Espero que te haya respondido a tu duda y te haya ayudado. Buen dia.