Como usar o for loop para exibir uma lista de strings?

Não consigo entender como funciona o FOR em Python.
está retornando números ao invés das frutas.

frutas = [ 'maça', 'banana', 'uva', 'manga' ]

for i in range(4):
    print(i)

resultado:

0
1
2
3
1 curtida

Problema

No caso você está fazendo um for no range(4).
O range retorna uma lista numerica, e o parametro 4 informa que é uma lista de numeros de 0 à 3.

print( list(range(4)) )

O resultado disso é 4 itens, de 0 à 3.

[0, 1, 2, 3]

Solução

Para fazer o loop em sua lista, você precisa informar a lista na estrutura do for.

frutas = [ 'maça', 'banana', 'uva', 'manga' ]

for i in frutas:
    print(i)

Dessa forma o loop percorre essa lista que você criou na primeira linha.
Resultado:

maça
banana
uva
manga

Conclusão

Caso tenha dúvidas sobre o loop for, de uma olhada no post abaixo que tem alguns exemplos completos com range, listas de numeros e listas de dicionarios: