Qual é a maneira mais eficiente de fazer uma iteração através de uma lista em python?

Digamos que eu tenha uma lista de itens:

x = [1, 2, 3, 4, 5]

Eu preciso executar algumas funções para cada um desses itens. Em um determinado caso, preciso retornar o índice de um item.

Qual é a melhor e mais eficiente maneira?

for item in list:
    ....

ou

for i in range(len(list)):
    ....

questionAnswers(4)

yourAnswerToTheQuestion